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

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

2 ответа

Решение

Следующий скрипт будет делать то, что вы хотите через 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")
}

Если у вас все ваши серверы в одном OU, вы можете использовать командлеты 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)

Другие вопросы по тегам