我做了像
这样的脚本$item_name = $item["Server_Name"]
$result = nslookup $item_name #a nslookup code to get the server's ip
$split = $result.tostring()
Caz使用split()会直接失败,所以我习惯使用String(),但它显示为System.Object []
如何确定$ result
中的内容答案 0 :(得分:0)
调用可执行文件并将结果存储在变量中将为您提供与输出“行”对应的字符串 array 中的标准输出。
通常,如果要将字符串数组的元素组合为单个字符串,请使用-join <delimiter>
。如在
'one','two','three' -join 'xyz'
'one','two','three' -join "`r`n"
所以你可以做到
$result = nslookup <servername>
$singleString = $result -join "`r`n"
<process $singleString here>
或者,如果您在输出中搜索特定的字符串模式,我喜欢使用此模式,它分别处理每行输出:
nslookup <server> |?{ $_ -match 'someregex' } |%{ <use $matches here to process> }
答案 1 :(得分:0)
除了使用-join
获取字符串数组并创建单个字符串之外,您可以简单地将nslookup的输出传递给Out-String
,例如:
$result = nslookup $server_name | Out-String