Либо вы объявляете параметры в начале вашего скриптового блока:
{
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
}
Или вы присоединяетесь к своим аргументам с помощью переменной $args
:
#first passed parameter
$args[0]
#second passed parameter
$args[1]
....
Документация: MSDN
В качестве альтернативы вы можете использовать область $Using:
. Пример:
$servicesToSearchFor = "*"
Invoke-Command -ComputerName $computer -Credential (Get-Credential) -ScriptBlock { Get-Service $Using:servicesToSearchFor }
С помощью $Using:
вам не нужен параметр -ArgumentList
, а параметр $Using:
f5] в скриптблоке.