我有一个正则表达式,它将给出计算机名,群集名称& 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之后的所有字符以获取群集名称,
有人可以用同样的方式帮助我吗
答案 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}\$?$'}