PowerShell:Get-Service 带 Get-Content、-name 和 select

PowerShell: Get-Service w/ Get-Content, -name and select

我正在尝试获取文本文件中列出的 2008 R2 服务器上特定服务的状态。

我曾经能够成功运行以下内容:

$servers = Get-Content "C:\scripts\Computers.txt"
Get-Service -ComputerName $servers -Name MrT | 
Select Name, MachineName, Status

如图所示:

现在,当我 运行 相同的脚本时,出现以下错误:

Get-Service : Cannot validate argument on parameter 'ComputerName'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again.
At line:3 char:27
+ Get-Service -ComputerName $servers -Name MrT |
+                           ~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Get-Service], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.GetServiceCommand

从技术上讲,为了克服这个问题,我可以 运行 以下但宁愿 运行 反对服务器列表。

Get-Service -ComputerName 3b, 4b, 7b  -Name MrT | Select Name, MachineName, Status 

我哪里做错了,怎么一次能用就不能用了?

正如错误消息指出的那样,$servers 变量可能不包含任何项目。通过 运行:

检查输出
Get-Content "C:\scripts\Computers.txt"