Я пытаюсь отформатировать свой вывод, чтобы он выглядел так
PSComputerName Value
-------------- ------
Computer1 Restricted
Computer2 Unrestricted
Computer3 Unrestricted
Это мой код, который переменная $ computers указывает на Get-Content файла с именами компьютеров, к которым я буду подключаться удаленно.
$test = Invoke-Command -ComputerName $computers -ScriptBlock {
$policy3 = Get-ExecutionPolicy
Write-Output $policy3
}
write $test
Выход
PSComputerName RunspaceId Value
-------------- ---------- -----
Computer1 7e4ebfbe-62d3-4035-9d5a... Restricted
Computer2 2ecd6932-1ed4-4f57-b9e9... Unrestricted
Computer3 73a119de-5d6d-4525-9958... Restricted
Я пытался избавиться от RunSpaceId, повторяя команду invoke и выполняя foreach имена компьютеров, я использовал PSComputerNames только для проверки, будет ли это работать.
write $test % {$_.PSComputerName }
Я знаю, что Invoke-Command имеет встроенную функцию foreach, но я не знаю, как ее использовать в этой ситуации. Как лучше всего достичь желаемого результата?
Select-Object
командлетом и его возможностями? ? - person Lance U. Matthews   schedule 02.10.2017PSComputerName
иRunspaceId
добавляютсяInvoke-Command
, поэтому вы можете получить к ним доступ (или отключить их) только вне вызоваInvoke-Command
. - person Lance U. Matthews   schedule 02.10.2017