ЕСЛИ (большое , если , потому что вы не уверены в этом), все ваши серверы начинают свое имя с буквального текста ABC
, тогда да, это не составит труда:
$servers = @('ABCPPsomename', 'ABCPRODsomenAppame', 'ABCPPsomeAppname')
$servers | Where-Object { $_ -match '^ABCPP' }
Результат
ABCPPsomename
ABCPPsomeAppname
ОБНОВЛЕНИЕ
Из вашего последнего комментария я понял, что соглашение о имени сервера должно быть от 3 до максимум 5 символов для началас, за которым следует либо
PP
, либо что-то совершенно другое, например
PROD
.
Чтобы найти в списке только "PP"
серверов, вы можете попробовать вместо этого:
$servers = 'ABCPPsomename', 'ABCPRODsomenAppame', 'ABCPPsomeAppname'
$servers | Where-Object { $_ -match '^[A-Z]{3,5}PP' }
Результат:
ABCPPsomename
ABCPPsomeAppname
Сведения о регулярном выражении:
^ Assert position at the beginning of the string
[A-Z] Match a single character in the range between “A” and “Z”
{3,5} Between 3 and 5 times, as many times as possible, giving back as needed (greedy)
PP Match the characters “PP” literally
Если вам нужно, чтобы совпадение учитывало регистр символов, используйте вместо него -cmatch
.
Надеюсь, что поможет