0
为什么$ servername变量会在下面的$servername
中正确扩展,但不会在以下Get-Process -ComputerName $servername
行中正确扩展?PowerShell变量不会在Get-Process命令中扩展
1)如果我手动将$servername="example-server"
设置为循环内该列表中的示例服务器(复制/粘贴),它将起作用。 2)如果我在循环中插入行$servername | Measure-Object -Character
以尝试测试变量内容是否正确(隐藏空间或某物),我没有得到任何输出。但是,如果我手动分配$servername
并运行,它会在字符串中显示正确的字符数。
$servers = Import-CSV C:\temp\AllServers.csv
foreach ($servername in $servers)
{
$servername
Get-Process -ComputerName $servername | Where-Object {$_.Handles -gt 1000} | Sort-Object Handles -Descending
}
是否有一些处理或格式需要与csv分配的数组,我失踪?
AllServers.csv
的内容是一列,第一行是列标题servers
。
'获取进程-ComputerName $ servername.servers' – PetSerAl
@PetSerAl啊,错过了,我的道歉。 –
由于@PetSerAl表明问题在于你的$ servername变量不是一个字符串,而是一个csv行对象。您需要在通话中使用正确的字段。另外-ComputerName可以直接接受一串字符串。 –