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可以直接接受一串字符串。 –