由于微软将于明年 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"