我们使用Configuration managar来安装操作系统,由于某些天才的原因,没有一种简单的方法来设置机器名称的规则。
所以我正在寻找一个C#API,允许我更改计算机名称(NETBIOS)并同时在Active目录中更改它。我想设置名称AFTER我连接到AD,所以我可以检查机器是否有一个旧名称,属于一个没有特定的OU。
我试过了:
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern bool SetComputerNameEx(COMPUTER_NAME_FORMAT NameType,string lpBuffer);
这个确实会更改本地计算机名称,但这会破坏AD连接。
答案 0 :(得分:1)
对于XP以来的所有Windows操作系统,您只需使用command-line program NETDOM.EXE更改计算机本身和Active Directory上的计算机名称即可...无需编程。
答案 1 :(得分:1)
string newName = "newName";
RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM", true).OpenSubKey("CurrentControlSet", true).OpenSubKey("Services", true).OpenSubKey("tcpip", true).OpenSubKey("Parameters", true);
key.SetValue("Hostname", newName);
key.SetValue("NV Hostname", newName);