1
Я пытаюсь передать аргументы удаленной машине с помощью прилагаемого сценария. Но он бросает исключение, говоря: «не может индексировать нулевой массив». Где я иду не так?Передача аргументов удаленной машине?
param(
[Parameter(Mandatory = $True, Position = 0)][ValidateNotNull()]$server = $(throw "Please provide Environment name. Ex: cyclone,jwoww or joker"),
[Parameter(Mandatory = $true, position = 1)][string]$logType = $(throw "Please provide type of log you want"),
[Parameter(Mandatory = $true, position = 2)][string]$howMany = $(throw "Please provide number of log rows you want")
)
invoke-command -computername $server -credential abc\def{
Get-EventLog -logname $arg[0] -newest $arg[1] | Out-File c:\EventLogs.txt
} -argumentlist $logType,$howMany
Пробовал это уже. Он не запрашивает значения, когда выполняется внутри блока сценариев, и генерирует исключение, запрашивающее значения. –
Просто добавьте узел записи перед вызовом 'Invoke-Command' и дамп ваши параметры, например:' Write-Host $ server; Write-Host $ logType; Write-Host $ howMany' для проверки параметров успешно передается в ваш скрипт. Параметры –
не передаются в блок сценариев. Если я попрошу пользователя ввести params внутри блока сценария, он не запрашивает params и просто выдает ошибку, чтобы значение было введено. –