Назад | Перейти на главную страницу

Можно ли с помощью samba узнать, какая версия windows запущена на удаленном ПК?

Поскольку в апреле следующего года Microsoft прекращает поддержку Windows XP, меня попросили проверить, на каких компьютерах все еще установлена ​​версия Windows, более ранняя, чем Windows 7. Можно ли с помощью какого-либо запроса Samba узнать версию клиентской ОС?

Вы спрашиваете нас, как приготовить свиные отбивные, если у вас есть только фунт говяжьего фарша. Нет веских причин использовать для этого Samba, IMO.

Если они находятся в домене AD, клиенты сохранили свою версию ОС в атрибуте OperatingSystem своих компьютерных объектов. Используя модуль ActiveDirectory Powershell:

Get-ADComputer -Filter * -Properties OperatingSystem | Select Name, OperatingSystem

Если они не входят в домен AD, проверьте каждый компьютер индивидуально примерно так:

$Creds = Get-Credential
Foreach($_ In Get-Content  .\servers.txt)
{
    Get-WMIObject Win32_OperatingSystem -ComputerName $_ -Credential $Creds | Select PSComputerName, Caption
}

Или, если вы работаете на предприятии, на котором установлено больше высокопроизводительных инструментов управления, что-то вроде System Center Configuration Manager мгновенно сообщит вам эту информацию.

Как и практически любая другая система мониторинга или управления конфигурацией.

Что-нибудь кроме того, что вы пытаетесь использовать.

Если вам по какой-то причине нужно сделать это из Linux, я бы предложил использовать wmic, который, как я слышал, имеет RPM-пакет:

rpm -ivh wmic-4.0.0tp4-0.x86_64.rpm

wmic -U [domain/]adminuser%password //host "select Caption from Win32_OperatingSystem"

Вот:

Обнаружение ОС nmap (переключатель -o) также, вероятно, подойдет для этого.

Хотя, как говорили другие, лучший способ сделать это зависит от конфигурации вашей системы.