Я искал здесь и в другом месте и не нашел ответа, так что вот мой вопрос.Определить версию PowerShell удаленно через WMI
Каков наилучший способ определить версию PowerShell на удаленном компьютере с использованием WMI?
фон
Моя задача состоит в том, чтобы проверять и обновлять около 1000 серверов для последней версии PowerShell. Некоторые из них имеют PowerShell v1, а некоторые не имеют WinRM, поэтому Invoke-command не является вариантом. PSExec также не является вариантом в этой среде. Вот почему мне нужно использовать WMI для выполнения этой задачи.
Любая помощь будет оценена по достоинству.
EDIT:
После долгих исследований я все еще склоняется к WMI. В частности, извлекается версия файла «powershell.exe». Мне кажется, это единственный способ охватить все версии.
код, который я до сих пор здесь:
$path = "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
$query = "SELECT Version FROM CIM_DataFile WHERE Name = '$path'"
$PSFileVer = Get-WmiObject -Query $query -ComputerName $servername -Credential $creds
$BuildVer = [version]$PSFileVer.Version.Split()[0]
Все, что мне сейчас нужно, это полный список, версия отображение файла (номер сборки) до версии PowerShell. Есть идеи?
Как об использовании инструмента управления как Configuration System Center Manager? Управление более чем несколькими десятками серверов без хороших инструментов - пустая трата времени. – vonPryz
SCCM является опцией, но охватывает только около 80% серверов. Еще одна причина, по которой я ищу решение PowerShell/WMI. –
Как насчет [ключи реестра] (http://stackoverflow.com/a/17142839/503046), то? – vonPryz