我做了像这样的脚本
$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 中获取内容
我做了像这样的脚本
$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 中获取内容
调用可执行文件并将结果存储在变量中将为您提供与输出“行”相对应的字符串数组中的标准输出。
通常,如果要将字符串数组的元素组合成单个字符串,请使用-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> }
-join
除了用于获取字符串数组并创建单个字符串之外,您还可以简单地将 nslookup 的输出通过管道传输到例如Out-String
:
$result = nslookup $server_name | Out-String