Я уже разобрался как средствами Powershell найти аппаратный адрес своей сетевой карты и как Powershell-ом найти аппаратный адрес другого компьютера.
Сейчас используя Powershell надо по IP-адресу в локальной сети найти NETBIOS-имя и группу машины.
Сейчас используя Powershell надо по IP-адресу в локальной сети найти NETBIOS-имя и группу машины.
Ищем имя
Задача поиска имени удаленного компьютера решается одной командой. Переменная $IP содержит АйПи адрес другого компа.Только имя без всего лишнего получаем так:
(Resolve-DNSName -Name $IP -LlmnrNETBIOSOnly).NameHost
Я не нашел командлет который дает и группу.
Ищем имя и группу
Для решения этой задачи пришлось анализировать вывод команды "nbtstat -A IP-адрес". Комп должен быть в той же локалке что и мы.Функция Get-NBTNames получает IP, а возвращает имя и группу другого компьютера. Или если не находит, то вернет пустые строки.
Function Get-NBTNames ($IP) {
$NETBIOS_Name=""
$NETBIOS_Group=""
$Cmd_Nbtstat_Out=nbtstat -A $IP
if ( ($Cmd_Nbtstat_Out | Select-String(" <00> ")).Count -gt 0) {
$NETBIOS_Name=$Cmd_Nbtstat_Out | Where-Object {$_.Contains("<00> Уникальный")} | Select-Object -First 1
if($NETBIOS_Name -ne $NULL) {
$NETBIOS_Name=$NETBIOS_Name.Substring(4,15)
$NETBIOS_Group=($Cmd_Nbtstat_Out | Where-Object {$_.Contains("<00> Группа")} | Select-Object -First 1)
if($NETBIOS_Group -ne $NULL) {
$NETBIOS_Group=$NETBIOS_Group.Substring(4,15)
}
}00>00>00>
}
$NETBIOS_Name=""
$NETBIOS_Group=""
$Cmd_Nbtstat_Out=nbtstat -A $IP
if ( ($Cmd_Nbtstat_Out | Select-String(" <00> ")).Count -gt 0) {
$NETBIOS_Name=$Cmd_Nbtstat_Out | Where-Object {$_.Contains("<00> Уникальный")} | Select-Object -First 1
if($NETBIOS_Name -ne $NULL) {
$NETBIOS_Name=$NETBIOS_Name.Substring(4,15)
$NETBIOS_Group=($Cmd_Nbtstat_Out | Where-Object {$_.Contains("<00> Группа")} | Select-Object -First 1)
if($NETBIOS_Group -ne $NULL) {
$NETBIOS_Group=$NETBIOS_Group.Substring(4,15)
}
}00>00>00>
}
$NETBIOS_Name
$NETBIOS_Group
}
$NETBIOS_Group
}
В результатах nbtstat скрипт ищет тип "Уникальный" с кодом 00 (два нуля) и считает это именем компьютера. А тип "Группа" с тем же кодом 00 считается группой.
Комментариев нет:
Отправить комментарий