Дифференциация между Windows и другими системами в пакетном режиме

Вопрос:

Я пишу пакетный скрипт, в котором я должен различать системы Windows и Non-Windows (Linux, MAC OS, Switches, Xerox Machines и т.д.).

Алгоритм:

if (it is a Windows System)
then
do this
end if

Для этого я пытаюсь воспользоваться командой nbtstat. По моим сведениям, когда nbtstat -A [IP Address] выполняется, если [IP Address] является системой Windows, он отображает вывод следующим образом:

>nbtstat -A 172.22.73.15
Local Area Connection:
Node IpAddress: [172.22.73.15] Scope Id: []
NetBIOS Remote Machine Name Table

Name               Type         Status
---------------------------------------------
MANDAR-PC     <00>  UNIQUE      Registered
DOMAIN        <00>  GROUP       Registered
MANDAR-PC     <20>  UNIQUE      Registered
DOMAIN        <1E>  GROUP       Registered

MAC Address = 00-1E-0B-9D-DD-E9

Для системы, отличной от Windows, выход будет выглядеть следующим образом:

>nbtstat -A 172.22.246.51

Local Area Connection:
Node IpAddress: [172.22.73.15] Scope Id: []

Host not found.

Как я могу использовать nbtstat или любую другую команду, чтобы различать Windows и другие системы?

Лучший ответ:
nbtstat -A 172.22.246.51 | find /i "Host not found." >nul 2>&1 && ( echo not a windows ) || (echo windows)

?

Оцените статью
TechArks.Ru
Добавить комментарий