提取ClusterName RegularExpressions

时间:2011-09-23 07:30:14

标签: arrays powershell

我有一个正则表达式,它将给出计算机名,群集名称& OSINFO

Get-QADComputer | ? {$ .osname -match“2008” - 和$ .computername -match“hv”} | Select @{Name="ComputerName";Expression={$_.computername.replace("$","")}} ,@ {名称= “集群名称”;表达式= {$ .computername.replace( “$”, “”); $ .computername.replace(“N [0-9] [0-9 ]”, “”)}},@ {名称= “OperatingSystem的”;表达式= {$ _ OSNAME}}

现在我面临的问题是提取clustername, 例如,如果计算机名称的输出是ADFCGS1N01 $,我希望群集名称看起来像ADFCGSN1,我想删除N之后的所有字符以获取群集名称,

有人可以用同样的方式帮助我吗

1 个答案:

答案 0 :(得分:1)

这能为您提供正确的值吗?

Get-QADComputer -OSName *2008* -Name *hv* | Select -ExpandProperty Name

根据您的评论,从名称末尾删除N + 2位数,包括美元(如果存在):

Get-QADComputer -OSName *2008* -Name *hv* | Foreach-Object {$_.Name -replace 'N\d{2}\$?$'}