Мне нужно автоматизировать изменение имени хоста компьютера, но я не могу понять, как это сделать внутри программы. Мои варианты открыты; Я был бы доволен решением в любом из следующих способов:
Командная строка
Java
Python
С# (предпочтет один из других 3, но это нормально)
Было бы полезно узнать, как это сделать как в Linux, так и в Windows.
Для систем на основе Unix:
Командная строка:
$ hostname "host.domain.com"
Python (сорт):
import os
os.system('hostname "host.domain.com"')
root
.
Вы также можете сделать это в powershell на окнах. Мне кажется более безопасным, чем изменение ключей реестра вручную:
$computer = Get-WmiObject Win32_ComputerSystem -OriginalPCname OriginalName -computername $originalPCName
$computer.Rename("NEWCOMPUTERNAME")
}
см. эта страница пошиво.
В Windows вы должны изменить разделы реестра и перезагрузить систему.
Вам действительно нужно изменить две записи:
HostName
в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters
и
ComputerName
под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
Обратите внимание, что если компьютер ha присоединился к NT-домену, это изменение может быть вредным (и в этом случае у вас есть дополнительная запись для изменения в TcpIp\Parameters
).