Исключить часть имени сервера из скрипта Get-Snapshot PowerShell
То, что я пытаюсь сделать, это получить список снимков виртуальной машины, но исключить любые снимки, которые содержат соглашение об именовании виртуальных машин "ABCDE", и что снимки имеют возраст более 3 дней, и вывести его в текстовый файл.
У меня есть следующий сценарий, но он не исключает серверы, начинающиеся с "ABCDE".
# Get VM Snapshot Information excluding anything with HEIEPC
Get-VM | Where {$_.Name -ne "ABCDE"} |
Get-Snapshot |
Where-Object { $_.Created -lt (Get-Date).AddDays(-3) } |
Format-List | Out-File $Log -Append
1 ответ
Вы проверяете виртуальные машины с точным именем "ABCDE". Чтобы проверить виртуальные машины, чье имя начинается с "ABCDE", используйте -like
оператор и подстановочный знак:
Get-VM | Where { $_.Name -notlike 'ABCDE*' } | ...
Сделать шаблон *ABCDE*
если вы хотите исключить виртуальные машины с подстрокой "ABCDE" в любом месте их имени (а не только в начале).