ステートメントの結果を
$x = [System.Net.Dns]::GetHostAddresses($name)
書き込みホスト文字列に書き込もうとしていますが、関数から出力に結果を取得する際に問題が発生します。
関連するコードは次のとおりです。
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)"""}
現在、文字列をそのまま出力するだけですが、fu部分式に到達すると、ロジックが適切に実行されないようで、文字通り「$ x」を出力するだけです。私の意図は、現在のobjのIPをforeachに出力することでした-オブジェクトステートメント。