从域中的远程计算机获取服务

时间:2019-08-12 13:16:29

标签: powershell powershell-2.0 powershell-remoting

尝试获取具有特定服务的域中所有计算机的列表

尝试通过此处的所有帖子,对每台计算机都提供帮助,但是如果我在多台计算机上使用文本文件,则会失败

$computers = Get-Content c:\script\computers.txt
$service = "*crystal*"

foreach ($computer in $computers) {
$servicestatus = Get-Service -ComputerName $computer -Name $service

}

$Data = $servicestatus | Select-Object Name,Machinename | Format-Table -AutoSize

Write($Data) | Out-File c:\script\output.txt -Append

表中包含服务的机器的预期列表,但出现错误: 此操作可能需要其他特权

相同的脚本,但是具有直接的计算机名称,其作用就像一个超级按钮。 任何线索出什么事了吗?

1 个答案:

答案 0 :(得分:0)

为什么不使用:

Invoke-Command -ComputerName $computers -ScriptBlock {Get-Service -Name *crystal*} 

最终,您可以将invoke的结果存储到变量中并使用它。 使用inforted的Invoke-Command的好处是Invoke是并行工作的,而foreach是串行的...

希望有帮助!

最诚挚的问候

伊凡