尝试获取具有特定服务的域中所有计算机的列表
尝试通过此处的所有帖子,对每台计算机都提供帮助,但是如果我在多台计算机上使用文本文件,则会失败
$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
表中包含服务的机器的预期列表,但出现错误: 此操作可能需要其他特权
相同的脚本,但是具有直接的计算机名称,其作用就像一个超级按钮。 任何线索出什么事了吗?
答案 0 :(得分:0)
为什么不使用:
Invoke-Command -ComputerName $computers -ScriptBlock {Get-Service -Name *crystal*}
最终,您可以将invoke的结果存储到变量中并使用它。 使用inforted的Invoke-Command的好处是Invoke是并行工作的,而foreach是串行的...
希望有帮助!
最诚挚的问候
伊凡