Как перечислить всю компьютерную операционную систему в сети в Powershell

Я не уверен, как LocalSystem будет когда-либо видеть путь UNC. LocalSystem не имеет доступа к сетевым ресурсам. Попытайтесь изменить сервис для выполнения как учетная запись, которая имеет доступ к пути UNC, который Вы опрашиваете.

1
задан 28 March 2014 в 23:24
3 ответа

To get OS Version:

 Get-ADComputer -Filter * -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap –Auto

Get-ADComputer returns the computer name by default, as well.

8
ответ дан 3 December 2019 в 16:17

Не уверен, что это именно то, что вы ищете, но у меня это работает. Вам нужно знать имя компьютера, которое вы передаете функции. И он предоставит вам ОС в строке возврата. Я уверен, что его можно изменить для других нужд.

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
}
2
ответ дан 3 December 2019 в 16:17

Я понимаю, что это старая тема и не использует powershell, но почему бы не запустить ADExplorer.exe, который является частью SysInternals Suite?

0
ответ дан 2 March 2020 в 17:49

Теги

Похожие вопросы