Параметры не будут использоваться с Invoke-Command удаленно, -computername возвращает значение null

Я хотел бы знать, как передавать параметры с помощью Invoke-Command, которые будут использоваться в сценарии для удаленного запуска.

enter code here
Param(
[string]$cname = (Read-Host "Computer Name?") ,
[string]$event = (Read-Host "What event?") ,
[string]$eventfilter = (Read-Host "What key word are you looking for?") '
[string]$amount = (Read-Host "How many events do you want to see?")
)
Invoke-Command -cn $cname -ScriptBlock {Get-EventLog -cn $cname -LogName $event -Message "*$eventfilter*" -Newest $amount | FT -Wrap}

Я хотел бы знать, возможно ли это и что мне нужно сделать, чтобы исправить этот скрипт? Спасибо


person vnavna    schedule 06.10.2017    source источник
comment
Проведя некоторые исследования, я обнаружил, что мне нужно использовать параметры для передачи переменных через командлет Invoke-Command. Все еще пытаюсь понять эту часть.   -  person vnavna    schedule 06.10.2017
comment
Param( [string]$cname = 'Имя компьютера хоста чтения?', [string]$event = 'Хост чтения Какое событие?', [string]$eventfilter = 'Хост чтения Какое ключевое слово вы ищете? ', [string]$amount = 'Read-Host Сколько событий вы хотите видеть?' ) Invoke-Command -ScriptBlock {Get-EventLog -cn $cname -LogName $event -Message $eventfilter | FT-Wrap}   -  person vnavna    schedule 07.10.2017


Ответы (1)


person    schedule
comment
Переменная Using может использоваться только с Invoke-Command, Start-Job или InlineScript в рабочем процессе скрипта. При использовании с Invoke-Command переменная Using действительна только в том случае, если блок сценария вызывается на удаленном компьютере. - person vnavna; 08.12.2017