我試圖將 $x = [System.Net.Dns]::GetHostAddresses($name)
語句的結果寫入我的寫主機字符串,但遇到一些問題從獲取函數的結果到輸出中。輸出函數結果在PowerShell寫主機
這裏的相關代碼:
Import-Module activedirectory
function fu($name)
{
$x = [System.Net.Dns]::GetHostAddresses($name).value
if ($x -ne $null){
Write-Host{ $x }
}
else{
Write-Host{"Null"}
}
}
Get-ADComputer -SearchBase 'OU=CorpServers,DC=corp,DC=com,DC=net' -Server "corp.com.net" -Filter * -Properties * |ForEach-Object{write-host "add filter filterlist=""L2-Windows Servers"" srcaddr=any dstaddr=$(fu $_.Name) description=""$($_.Name)"""}
目前它只是輸出字符串是,但是當它到達福子表達式似乎不正確執行邏輯,只輸出「$ x」的字面意思,那裏有我意圖是讓它在foreach-object語句中輸出當前obj的IP。
'[System.Net.Dns] :: GetHostAddresses(<>)| Get-Member'不顯示任何'value'屬性?您可以簡單地嘗試在ISE /控制檯中首先運行這個 - [System.Net.Dns] :: GetHostAddresses(<>)。 –
你是否打算這樣的 - [System.Net.Dns] :: GetHostAddresses(「<>」)[0] .ToString()in function fu()'? –
將$ x改爲:'$ x = [System.Net.Dns] :: GetHostAddresses($ name)| select-object IPAddressToString -expandproperty IPAddressToString'? – LinksTune