【问题标题】:Starting a windows service on remote machine in different domain在不同域的远程计算机上启动 Windows 服务
【发布时间】:2012-09-09 01:29:25
【问题描述】:

我的电脑在域 A 中,而远程服务器在域 B 中,我想使用 c# 或任何其他语言或脚本从我的电脑上重新启动服务器上的服务。

注意事项:

  1. 我通过 VPN 连接到服务器,这意味着我可以手动 RDP 服务器并手动重启服务。
  2. 我无法使用本地服务窗口中的操作按钮下的连接到其他计算机来访问服务器上的服务。
  3. 我拥有服务器的管理员权限。
  4. 我不能(不允许)向服务器添加任何组件。
  5. 我有不同的远程机器凭据集

【问题讨论】:

标签: c# windows service restart


【解决方案1】:

你可以使用批处理文件吗?我通常使用这样的东西:

NET USE \\computername\IPC$ /U:domainname\username password
SC \\computername START service

【讨论】:

    【解决方案2】:

    您应该首先尝试sc 命令,以确保您能够使用当前权限和凭据远程启动该服务。如果可行,请查看System.ServiceProcess.ServiceController

    当您说您是远程计算机上的管理员时,我假设这意味着您使用不同的凭据登录。我不相信其中任何一个都允许您使用备用凭据 - 即,这些命令将以域 A 权限执行,而这些权限很可能不足以满足您的要求。

    【讨论】:

    • 使用 ServiceController 我可以访问(停止/启动/重新启动)我域中机器上的服务,但不能访问其他域中的机器。我对另一个域有一组不同的凭据。我需要使用这些凭据在远程机器上手动执行任何操作(使用 RDP),但不知道如何使用 Windows 表单完成此操作(不使用 .net 中的 RDP 工具)。
    • @user1675935:我不知道这是否可行,而且我没有可以测试它的环境...但是您是否尝试过使用 runas 命令启动您的程序?我找不到在线文档,但我相信它会类似于 runas /noprofile /netonly /user:<user>@<domain> <program>
    • Brenda 它有效,我尝试显示服务器中的所有服务,我没有测试重新启动或停止服务,但我认为它也应该有效。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    相关资源
    最近更新 更多