Powershell选择特定的值

Powershell选择特定的值,powershell,Powershell,嗨,对不起,我不是一个写脚本的人,我想我的问题很简单,但我找不到答案 我这样做: $i = Get-ClusterResource "Cluster IP Address" | get-clusterparameter | Select -Property value 然后得到: Value ----- Cluster Network 2 10.32.32.36 255.255.252.0 2 0 0 255.255.252.0 1/1/0001 12:00:00 AM 1/1/0001 1

嗨,对不起,我不是一个写脚本的人,我想我的问题很简单,但我找不到答案

我这样做:

$i = Get-ClusterResource "Cluster IP Address" | get-clusterparameter | Select -Property value 
然后得到:

Value
-----
Cluster Network 2
10.32.32.36
255.255.252.0
2
0
0
255.255.252.0
1/1/0001 12:00:00 AM
1/1/0001 12:00:00 AM
255.255.255.255
0.0.0.0
255.0.0.0
但我需要的唯一信息是ip“10.32.32.36”,因此我尝试:

$i = Get-ClusterResource "Cluster IP Address" | get-clusterparameter | Select -Property value | Select-String -SimpleMatch "10." 
但是我得到了
$I=@{Value=10.32.32.36}


我不知道为什么它会添加
@{value=xxxx}
如何删除它并且只拥有IP?

选择字符串返回MatchInfo对象。要仅获取匹配行的值,需要仅选择“line”属性的值:

$i = Get-ClusterResource "Cluster IP Address" |
 get-clusterparameter |
 Select -Property value |
 Select-String -SimpleMatch "10." |
 Select -ExpandProperty Line

如果ip始终是您可以使用的第二个值:

$i =  (Get-ClusterResource "Cluster IP Address" | get-clusterparameter | 
     Select -expand value )[1]

选择字符串不是设计用于操作对象,而是设计用于操作文本(文件)。PowerShell中为筛选对象而设计的工具是Object cmdlet:

$i = Get-ClusterResource "Cluster IP Address" | 
    get-clusterparameter | 
    Where-Object { $_.Value -like '10.*' } |
    Foreach-Object { $_.Value }

另一件事是,您需要的是值,而不是具有单个属性的自定义对象(这是
select-property-value
将创建的)。因此-您可以在
选择对象
上使用
-expand
参数,也可以使用
Foreach对象
cmdlet

如果需要群集地址,则只需获取
地址
群集参数:

$i = Get-ClusterResource "Cluster IP Address" `
       | Get-ClusterParameter Address `
       | select Value
上述命令将返回一个具有属性
值的对象,该属性包含IP地址。如果只需要实际的IP地址,请使用以下选项:

$i = (Get-ClusterResource "Cluster IP Address" `
       | Get-ClusterParameter Address).Value

office365 online命令也有同样的问题,我只想将值捕获到变量中,我这样做了:

$displayname = get-mailbox $whataccount | select displayname
和你一样,我也收到了这个:

"@{DisplayName=Bob Newhart}
这就是我为获得我想要的价值所做的:

$displayname = get-mailbox $whataccount | select displayname
$displayname = $displayname.displayname
现在该变量只包含以下内容:
Bob Newhart

但这与Ansgar Wiechers在回答中所说的基本相同