powershell - How do I pass variables with the Invoke-Command cmdlet? -


i have event-logs servers , don't want read in credentials each server found.

i've tried pass variables using argumentlist parameter doesn't work.

this code:

$user = read-host -prompt "enter username" $password = read-host -prompt "enter password" -assecurestring $bstr = [system.runtime.interopservices.marshal]::securestringtobstr($password) $unsecurepassword = [system.runtime.interopservices.marshal]::ptrtostringauto($bstr)  get-adcomputer -filter "operatingsystem -like '*server*'" | sort-object name | foreach-object{     if($_.name -like '*2008*'){         invoke-command -computername $_.name -argumentlist $user, $unsecurepassword -scriptblock {               net use p: \\server\dir1\dir2 /persistent:no /user:$user $unsecurepassword             get-eventlog -logname system -after (get-date).addhours(-12) -entrytype error, warning | format-list |              out-file p:\eventlog_$env:computername.log             net use p: /delete /yes         }     } } 

how can use variables in invoke-command scriptblock?

either declare parameters @ beginning of scriptblock:

   {           param($user,$unsecurepassword)         net use p: \\server\dir1\dir2 /persistent:no /user:$user $unsecurepassword         get-eventlog -logname system -after (get-date).addhours(-12) -entrytype error, warning | format-list |          out-file p:\eventlog_$env:computername.log         net use p: /delete /yes     } 

or acces arguments using $args variable:

#first passed parameter $args[0] #second passed parameter $args[1] .... 

documentation: msdn


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -