我是相當新的PowerShell的,但我已經創建了一個XAML的形式做一些健康對我們的環境檢查。在第一部分中,我創建了一條if語句來檢查設備的連接狀態。設備名稱從TextBox
中提取,然後,如果連接了該設備,則繼續運行狀況檢查。但是,當物品從TextBox
拉出時,它包含該行的「n」,因此查詢失敗。下面是相關代碼...變量在PowerShell中,包括新行字符
Remove-Item C:\Healthlog.txt
#This is where the problem is happening
$Computers = $CompNames.Text.Split("`n")
Foreach ($Comp in $Computers){
$log= "C:\Healthlog.txt"
Add-Content $log "$Comp"
#Check to see if machines are connected
Write-Host "$TestConnection = Test-Connection -ComputerName $Comp - Quiet"
$TestConnection = Test-Connection -ComputerName $Comp -Quiet
Write-Host $TestConnection
If ($TestConnection -eq $False) {
Add-Content $log "Connection to Device has failed"
}
$Compnames
是TextBox
已經被分配給變量的名稱。
輸出是一個失敗的查詢每次都因爲被包含在變量的新行字符。我曾嘗試在$Comp
以及$Computers
上做-replace
,但我不知道我是否正確地做了這件事。
任何幫助將不勝感激。
Shorter簡單地說是'$ CompNames.text.split(「\'r \'n」,[StringSplitOptions] :: RemoveEmptyEntries)'。更新我的答案以包含'\'r'。 –
工程就像一個魅力。謝謝! – dbennett