Переименовать компьютер программно

1

Мне нужно автоматизировать изменение имени хоста компьютера, но я не могу понять, как это сделать внутри программы. Мои варианты открыты; Я был бы доволен решением в любом из следующих способов:

Командная строка
Java
Python
С# (предпочтет один из других 3, но это нормально)

Было бы полезно узнать, как это сделать как в Linux, так и в Windows.

  • 5
    Какая платформа?
  • 0
    Окна? Linux? Вы сказали имя хоста, так что я думаю, что это может быть * nix, но вы упомянули C #? это винда?
Показать ещё 4 комментария
Теги:
hostname

3 ответа

3

Для систем на основе Unix:

Командная строка:

$ hostname "host.domain.com"

Python (сорт):

import os
os.system('hostname "host.domain.com"')
  • 1
    Обратите внимание, что это не сработает, если вы не root .
  • 0
    И, в зависимости от системы / флейвора / дистрибутива, при перезагрузке вернется к чему-то, хранящемуся в файле.
1

Вы также можете сделать это в powershell на окнах. Мне кажется более безопасным, чем изменение ключей реестра вручную:

$computer = Get-WmiObject Win32_ComputerSystem -OriginalPCname OriginalName -computername $originalPCName
$computer.Rename("NEWCOMPUTERNAME")
}

см. эта страница пошиво.

  • 0
    Как вы можете сделать это программно?
0

В Windows вы должны изменить разделы реестра и перезагрузить систему.

Вам действительно нужно изменить две записи:

HostName в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters

и

ComputerName под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName

Обратите внимание, что если компьютер ha присоединился к NT-домену, это изменение может быть вредным (и в этом случае у вас есть дополнительная запись для изменения в TcpIp\Parameters).

  • 0
    Хорошо, круто, пара вопросов: 1. В записи ComputerName все заглавные буквы. Когда я изменю это, я должен также поместить имя во всех заглавных буквах? 2. Что делать, если я хочу изменить суффикс DNS. Где это будет находиться? Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню