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

Есть ли способ запустить список компьютеров и включить на них NetBios?

Я ищу способ включить NetBios на всех серверах в моем домене на ограниченное время, около месяца, а позже я должен снова отключить его (он используется некоторым приложением инвентаризации, которое мы используем). Вы знаете, как достичь этой цели? Сценарий Powershell был бы хорош.

Следующий скрипт сделает то, что вы хотите, через PowerShell. Вам понадобится текстовый файл с именем каждого сервера в строке. Сценарий предполагает, что в каждой системе есть один активный сетевой адаптер. Если у вас несколько активных сетевых адаптеров, вам нужно будет перебрать их в цикле, настраивая для каждого.

$computers = Get-Content -Path "S:\ome path\to text file.txt"

foreach ($computer in $computers)
{
    $NIC = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled = true" -ComputerName $computer
    $NIC.SetTcpipNetbios("1")
}

Если у вас все серверы в одном подразделении, вы можете использовать командлеты QuestAD, чтобы поместить их все в переменную $ computers, а затем передать имя таким образом.

Используйте Wmic

Создайте отдельный текстовый файл, содержащий список CSV или список имен компьютеров, разделенных символом возврата каретки, с именем somefile.txt

Затем выполните следующие команды из соответствующей учетной записи с разрешениями:

wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=0 call SetTcpipNetbios 1
wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=2 call SetTcpipNetbios 1

Когда вы закончите, измените приведенный выше код на SetTcpipNetbios на 2 (отключено). (0 устанавливается через DHCP)