Get-ADComputer -Filter * -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap –Auto
Get-ADComputer
returns the computer name by default, as well.
Не уверен, что это именно то, что вы ищете, но у меня это работает. Вам нужно знать имя компьютера, которое вы передаете функции. И он предоставит вам ОС в строке возврата. Я уверен, что его можно изменить для других нужд.
function global:Get-OSInfo
{
param([string]$computer)
[string] $strReturn = ''
if([string]::IsNullOrEmpty($computer) -eq $false)
{
# Create the connection to Active directory.
$dom = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$root = $dom.GetDirectoryEntry()
$search = [System.DirectoryServices.DirectorySearcher]$root
# Search the directory for our user.
$search.Filter = "(&(objectclass=Computer)(sAMAccountName=$computer$))"
$result = $search.FindOne()
if ($result -ne $null)
{
$system = $result.GetDirectoryEntry()
$strReturn = $system.Properties["operatingSystem"]
}
}
return $strReturn
}
Я понимаю, что это старая тема и не использует powershell, но почему бы не запустить ADExplorer.exe, который является частью SysInternals Suite?