С компьютера с установленными инструментами RSAT (или с контроллера домена) вы можете запустить следующую учетную запись, которая может получить доступ ко всем ПК / серверам в домене:
$computers = ( Get-ADComputer -Filter * -Properties DNSHostName ).DNSHostName
$results = Invoke-Command -ComputerName $computers {
switch ( [System.Environment]::OsVersion.Version.Major ) {
10 {
[PSCustomObject]@{ AtLeast1809 = [System.Environment]::OsVersion.Version.Build -ge 18362 }
break
}
default {
[PSCustomObject]@{ AtLeast1809 = $False }
}
}
}
$results | Where-Object { -Not $_.AtLeast1809 } | Select-Object PSComputerName, AtLeast1809
Этот код просматривает текущийосновная версия, если это не 10, мы автоматически возвращаем $false
. Если это Windows 10, мы проверяем версию сборки. После запуска Invoke-Command
на всех компьютерах в домене мы выводим из коллекции $results
все компьютеры, версия которых не ниже Windows 10 1809, затем выбираем свойство PSComputerName
(автоматическое свойство, добавляемое при использовании Invoke-Command
, чтобы отметить, с какого компьютера был получен результат) и свойство AtLeast1809
, которое мы вернули с удаленного компьютера.
Обратите внимание, что вы можете не запускать это для каждого компьютера / сервера в вашем домене по адресуодин раз. Вы можете настроить параметр фильтра , чтобы выбрать только те компьютеры, которые вам нужны в пакетном режиме.
Вот таблица соответствия для версий Windows 10 . 1809 год постройки 18362.