【发布时间】:2009-07-29 03:25:03
【问题描述】:
有没有办法以编程方式更改机器(XP、Vista 和 Win 7)所属的工作组(最好是 .NET 语言)?我找到了有助于确定机器所属工作组的代码,但在某些情况下我可能需要更改它。
这听起来有点奇怪,但我正在考虑为我们的用户构建一个自动恢复安装(在 100 多个不同的站点,有 2 到 10 台机器,每台都有自己的“服务器”)。一个常见的情况是,“嘿,我的服务器死了。你能让我们的销售点软件在另一台机器上运行,并将其作为我们的临时/新服务器吗?”。我最终不得不手动配置他们的机器名称(将其重命名为旧服务器的名称 - 我已经有代码),然后仔细检查工作组以确保它对网络上的其他机器可见。我希望能够尽可能地自动执行此操作。
(编辑)
根据发布的信息,我进行了更多搜索,发现我实际上可以直接执行此操作,而无需运行 EXE(并不是说这样做有什么大不了的)。
using System;
using System.Management;
// 为了简洁,类的东西被删除了
ManagementObject manage = new ManagementObject(string.Format("Win32_ComputerSystem.Name='{0}'", Environment.MachineName));
object[] args = { "WorkgroupName", null, null, null };
manage.InvokeMethod("JoinDomainOrWorkgroup", args);
【问题讨论】:
-
感谢您发布您的解决方案,您拯救了我的一天,先生。