Главная

Wednesday, 11 August 2021

Запрос версии Windows из домена.

Всем привет.

В связи с модой на обновления не только ОС, но и самих ядер Windows понадобилась выборка реальной ситуации по всем рабочим станциям в домене. Тут имеет смысл делать выборку значения атрибута OperatingSystemVersion. Это номер сборки ОС. Ему в соответствие надо поставить номер версии ОС, так как это делает команда winver.


Поэтому возможные пары значений сборка+версия предварительно заносим в отдельный файлик Cores.csv, и далее пишем скрипт запроса в Powershell:

$cores = Import-CSV -Encoding UTF8 -path "d:\ps\Cores.csv" -Delimiter ";" 

#Type of output file: CSV or TXT

$TypeOfFile = 'txt'


foreach($core in $cores){

$core.name

$corename = '*(' + $core.Name + ')'

if ($typeoffile -eq 'csv'){

  $filename = 'd:\'+ $core.CoreV +'.csv'  

  }

  else { $filename = 'd:\Cores.txt'  

         "Version of core: "+$core.coreV | Out-File $filename -Append -Force -Encoding UTF8

       }

 $str1 = Get-ADComputer -filter {(OperatingSystemVersion -like $corename) -and (Enabled -eq 'True') -and (OperatingSystem -notlike '*Server*')} -properties CanonicalName,Description | Select Name,CanonicalName,Description 

if ($str1) {$str1 | Out-File $filename -Append -Force -Encoding UTF8} else {"No hosts." | Out-File $filename -Append -Force -Encoding UTF8}

Где файл Cores.csv имеет следующее содержание:

Name;CoreV;

19043;21H1;

19042;20H2;

19041;2004;

18363;1909;

18362;1903;

17763;1809;

17134;1803;

16299;1709;

15063;1703;

14393;1607;

10568;1511

Успехов.

1 comment:

  1. Для серверов:
    Name;CoreV;
    7601;2008_R2;
    9200;2012;
    9600;2012_R2;
    14393;2016_1607;
    16299;2016_1709;
    17763;2019_1809

    ReplyDelete

А что вы думаете по этому поводу?