使用 C# 远程更改 Windows Server 2008 计算机的计算机名称?

2024-01-11

也许有人能够向我指出一个决定性的资源,以了解如何使用 C# 在 Windows Server 2008 计算机上远程更改计算机名称

我已经查看了很多网站寻求帮助,现在在我的任务的第二天,并没有真正接近(除了决定 WMI 几乎是我唯一的选择)完全超出了我的正常技能,所以我想几乎任何信息都会是很好,但尤其是与远程更改计算机名称有关的任何事情。 (这会在我从图像远程启动虚拟图像后立即发生......是的,我意识到需要重新启动)

thanks


这是一个很好的链接,它详细讨论了它,并且除了本地计算机名称之外还处理活动目录成员身份和计算机命名。http://derrickswen.blogspot.com/2009/04/programmatically-renaming-computer.html http://derricksweng.blogspot.com/2009/04/programmatically-renaming-computer.html

(顺便说一句,如果您必须处理 Active Directory 命名,我会考虑使用计算机校长 http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.computerprincipal.aspxSystem.DirectoryServices.AccountManagement 命名空间中的类,而不是博客文章中使用的 System.DirectoryServices 命名空间中的任何内容。)

调整了博客文章中的代码(您需要将对 System.Management 的引用添加到您的项目中):

    public void RenameRemotePC(String oldName, String newName, String domain, NetworkCredential accountWithPermissions)
    {
        var remoteControlObject = new ManagementPath
                                      {
                                          ClassName = "Win32_ComputerSystem",
                                          Server = oldName,
                                          Path =
                                              oldName + "\\root\\cimv2:Win32_ComputerSystem.Name='" + oldName + "'",
                                          NamespacePath = "\\\\" + oldName + "\\root\\cimv2"
                                      };

        var conn = new ConnectionOptions
                                     {
                                         Authentication = AuthenticationLevel.PacketPrivacy,
                                         Username = oldName + "\\" + accountWithPermissions.UserName,
                                         Password = accountWithPermissions.Password
                                     };

        var remoteScope = new ManagementScope(remoteControlObject, conn);

        var remoteSystem = new ManagementObject(remoteScope, remoteControlObject, null);

        ManagementBaseObject newRemoteSystemName = remoteSystem.GetMethodParameters("Rename");
        var methodOptions = new InvokeMethodOptions();

        newRemoteSystemName.SetPropertyValue("Name", newName);
        newRemoteSystemName.SetPropertyValue("UserName", accountWithPermissions.UserName);
        newRemoteSystemName.SetPropertyValue("Password", accountWithPermissions.Password);

        methodOptions.Timeout = new TimeSpan(0, 10, 0);
        ManagementBaseObject outParams = remoteSystem.InvokeMethod("Rename", newRemoteSystemName, null);

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 远程更改 Windows Server 2008 计算机的计算机名称? 的相关文章

随机推荐

  • 如何模块化 Rails 模型?

    我正在实现几个类 它们本身没有数据 只有逻辑 这些类实现了迄今为止的访问控制策略 这取决于从其他模型的数据中获取的几个参数 我最初尝试寻找 在哪里存储此类类 的答案 在这里 答案是apps models目录 没关系 但我喜欢将这些类与层次结
  • 是否有 MDB(Material Design Bootstrap)从右到左的插件

    我正在研究 Angular JS 的材料设计 我想以从右到左的模式使用波斯语 目前 MDB 不支持 RTL 我可以确认 劳教是在未来计划的 问题是 Bootstrap 本身不支持 RTL
  • C# 中 Java 的默认(包)访问权限相当于什么?

    C 中 Java 的默认 包 访问权限相当于什么 有吗 是否有办法限制对特定名称空间的访问 问题 我试图将对某些方法的访问限制为仅我的 NUnit 测试 在 JUnit 中 我将通过进行方法包访问并将测试放在同一包中但在 src test
  • 为什么我仍然遇到找不到 Java SE 运行时环境?

    These are the errors I get when I try to run a simple java version in the command window I followed the advice on Error
  • Android 应用内结算获取类似“未找到项目”的对话框

    我正在研究应用内结算 我已经完成了所有步骤 当我运行签名的 apk 并单击 购买 按钮后 我收到此对话框 找不到项目 此外 单击 确定 后 将打开另一个对话框 例如 您请求的商品无法购买 我的应用程序有什么问题 我还使用另一个帐户进行测试
  • Alternative 中的“一些”和“许多”有什么用?

    Alternative http hackage haskell org packages archive base latest doc html Control Applicative html t Alternative 延伸Appl
  • android:如何在ListView复选框的选中/取消选中事件中重新加载ArrayAdapter类?

    如何在ListView的Chekbox的选中 取消选中事件中重新加载ArrayAdapter类 事件是在 ArrayAdapter 类中定义的吗 notifydatasetchanged 不起作用 我想重新加载 ArrayAdapter 类
  • 如何重命名分支以删除大写?

    我命名了一个分支Name代替name并想将其更改为后者 我尝试在本地重命名分支 git branch m tmp 删除github上的分支 git push origin delete Name 重命名临时分支 git branch m n
  • 由于某种原因使用 FileWriter 和 BufferedWriter 清除文件?

    由于某种原因 当我在程序中创建新的 BufferedWriter 和 FileWriter 时 即使我还没有使用它来写入任何内容 它会清除我选择的文件的所有文本 selectedFile 由 JFileChooser 确定 public s
  • 将模型字段转换和修改为 DataColumn 对象

    在 ASP NET MVC 3 中 我想在数据库创建时访问模型字段 就好像它们是 DataColumn 类的对象一样 以便我可以修改自动增量设置 http msdn microsoft com en us library system da
  • 如何从 AngularJS 访问 Heroku 上的环境变量

    我在 Heroku 上有 3 个 AngularJS 应用程序 他们每个人都使用不同的 API 例如 angularjs dev 使用 api dev angularjs qa 使用 api qa 我创建了如下所示的常量文件 SITE de
  • jQuery fadeIn fadeOut 点击

    我试图在单击另一个 div 时使 div 淡入 并在单击另一个 div 时再次淡出 这将是关闭按钮 但我的代码不起作用 我是否忘记了什么 这是 CSS body margin 0 padding 0 text align center ba
  • 编写 Django 脚本

    使用 Django 设置 模型 实用程序等编写 python 脚本 不在 Django 服务器应用程序中运行 的最佳方法是什么 从而能够通过批处理过程对应用程序数据库进行操作 EDIT 我需要在另一台服务器中使用它来对数据库进行相当复杂的操
  • 不希望 mysql 自动将 String 转换为 Integer

    我发现 MYSQL 从 String 到 Integer 的自动类型转换在我看来很奇怪 mysql gt select from isps where id 3ca6fb49 9749 3099 b30d 19ce56349ad6 OR u
  • 为单例类制作装饰器——typescript

    我正在使用 VueJS 和 Typescript 构建一个项目 我觉得使用服务而不是像 Vuex 这样的任何状态管理库很舒服 但是在编写服务时 我必须始终在每个服务类中复制粘贴一些代码 以使其成为单一的 class MyService pr
  • 如何在 Android 中获取 Facebook 上的所有照片

    我正在开发一个应用程序 其中我将 Facebook SDK 用于不同的目的 目前我已经实现了通过Facebook登录 现在我的下一个任务是获取登录用户的所有照片并将其显示在网格中 我正在关注 Facebook 官方开发者网站作为此任务的参考
  • 使用 img srcset 处理响应式图像

    我将 Angular 与材质一起使用 并使用 img srcset 来处理标题的响应图像 这就是我到目前为止正在做的事情 img src assets mtn bg 1600 jpg alt Header image 我对如何使用 srcs
  • TASM:乘法后如何在屏幕上打印寄存器对 dx:ax?

    include io h cr equ 0dh lf equ 0ah stacksg segment stack dw 100 dup stacksg ends datasg segment prp1 db 1st Number cr lf
  • 浏览器后退按钮

    我使用以下代码行来禁用注销后浏览器后退按钮问题 function LogoutOnClick window history go 1 但是 这段代码有一个问题 假设我有三页 第一页是登录页面 login cshtml 和第二个成功登录页面
  • 使用 C# 远程更改 Windows Server 2008 计算机的计算机名称?

    也许有人能够向我指出一个决定性的资源 以了解如何使用 C 在 Windows Server 2008 计算机上远程更改计算机名称 我已经查看了很多网站寻求帮助 现在在我的任务的第二天 并没有真正接近 除了决定 WMI 几乎是我唯一的选择 完