gpt4 book ai didi

Powershell : Use a Select-Object expression with a string

转载 作者:行者123 更新时间:2023-12-04 13:32:59 26 4
gpt4 key购买 nike

对于某些脚本,我需要有一个由计算属性组成的输出。

例如,对于 ip.txt 中的 ip 地址列表,我想知道它们是否响应 ping。所以我尝试以下命令:

Get-Content .\ip.txt | Select-Object $_,@{Name="ping?";Expression={Test-Connection $_ -Quiet -Count 1}}

但是我得到一个错误,不管我在 scriptblock 表达式中做什么。

错误(法语,抱歉):

Select-Object : Paramètre Null. Le type attendu doit être l'un des suivants : {System.String, System.Management.Automation.ScriptBlock}.
Au niveau de ligne : 1 Caractère : 37
+ Get-Content .\ip.txt | Select-Object <<<< $_,@{Name="ping?";Expression={Test-Connection $_ -Quiet -Count 1}}
+ CategoryInfo : InvalidArgument: (:) [Select-Object], NotSupportedException
+ FullyQualifiedErrorId : DictionaryKeyUnknownType,Microsoft.PowerShell.Commands.SelectObjectCommand

我之前在一些脚本中使用了“计算属性”,但使用了目录对象。为什么它不适用于字符串?

最佳答案

试试这个,你需要为每个值创建计算属性:

Get-Content .\ip.txt | Select-Object  @{n="Server IP";e={$_}},@{n="ping?";e={[bool](Test-Connection $_ -Quiet -Count 1)}}

您的代码中的问题是 $_不是计算的属性。 Select-object接受和属性数组,如果在数组中传递 $_不被评估为属性。
如果你只是 select-object $_ (作为 select-object -prop $null )管道项目是输出。

关于Powershell : Use a Select-Object expression with a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com