是否可以使用 samba 查找远程 PC 正在运行的 Windows 版本?

是否可以使用 samba 查找远程 PC 正在运行的 Windows 版本?

由于微软将于明年 4 月停止支持 Windows XP,因此我被要求检查哪些 PC 仍在运行早于 Windows 7 的 Windows 版本。是否可以通过某些 Samba 查询找出客户端操作系统的版本?

答案1

这里是:

nmap 的操作系统检测(-o 开关)可能也适用于此。

尽管正如其他人所说,最好的方法取决于您的系统配置。

答案2

你问我们如何做猪排,而你只有一磅碎牛肉。在我看来,没有理由使用 Samba 来做这个。

如果客户端位于 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"

相关内容