Извлечение регулярных выражений ClusterName - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть регулярное выражение, которое даст имя компьютера, имя кластера и OSinfo

Get-QADComputer |?{$ .osname -match "2008" -and $ .computername -match "hv"} | Select @{Name="ComputerName";Expression={$_.computername.replace("$","")}}, @ {Name = "ClusterName"; Выражение = {$ .computername.replace ("$", ""); $ .computername.replace ("n [0-9] [0-9] "," ")}}, @ {Name =" OperatingSystem "; Expression = {$ _. Osname}}

Теперь проблема, с которой я сталкиваюсь, заключается в извлечении имени кластера, например, если выводимя компьютера ADFCGS1N01 $, я хотел, чтобы имя кластера было похоже на ADFCGSN1, я хотел удалить все символы после N, чтобы получить имя кластера,

Может кто-нибудь помочь мне с тем же

1 Ответ

1 голос
/ 23 сентября 2011

Дает ли это правильное значение?

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

Для вашего комментария удалите N + 2 цифры из конца имени, включая доллар (если существует):

Get-QADComputer -OSName *2008* -Name *hv* | Foreach-Object {$_.Name -replace 'N\d{2}\$?$'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...