AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 104365
Accepted
Scott Chamberlain
Scott Chamberlain
Asked: 2010-01-20 14:14:29 +0800 CST2010-01-20 14:14:29 +0800 CST 2010-01-20 14:14:29 +0800 CST

控制另一台计算机上的服务

  • 772

我目前正在为 Windows 编写服务,并且经常对其进行调整并将其更新到我的测试计算机上。我想编写一个脚本来自动停止服务,更新 exe 并重新启动服务。然而,它是我遇到麻烦的停止和启动部分。

我连接的计算机不在域中,我们不共享用户名和密码。我认为我最好的选择是这样做sc.exe \\testsvr stop "myService",因为我没有域或共享用户名和密码,这给了我一个“访问被拒绝”的消息。

我可以很容易地添加用户,但是当我无法更改用户时,我希望这是一种学习体验。

windows windows-service remote
  • 5 5 个回答
  • 16363 Views

5 个回答

  • Voted
  1. Evan Anderson
    2010-01-21T07:42:52+08:002010-01-21T07:42:52+08:00

    为了完整起见,如果您只想使用现有的 Windows 工具来执行此操作,您可以首先建立与远程机器的 IPC 连接(以在该机器上建立安全令牌),然后使用“SC”命令:

    net use \\remote\IPC$ /user:local-username-on-remote-machine passowrd
    sc \\remote stop service-name
    net use \\remote\IPC$ /delete
    

    这将让您控制远程机器上的服务,而不管两台机器的工作组/域成员身份的组合。

    • 7
  2. Best Answer
    Evan
    2010-01-20T15:59:45+08:002010-01-20T15:59:45+08:00

    我会看一下Microsoft Sysinternals 中的PsService(它是 Mark Russinovich 编写的优秀工具集的一部分)。

    直接从网站:

    Usage: psservice [\\computer [-u username] [-p password]] <command> <options>
    

    对于<command>,您可以使用start、stop或restart作为最常用的选项。这个脚本的好处是它不依赖于两台机器是同一域的成员或具有任何其他信任。

    • 3
  3. techie007
    2010-01-20T14:51:07+08:002010-01-20T14:51:07+08:00

    从未在非域配置中亲自尝试过,但可能使用“RunAs”运行 SC.exe 并使用目标计算机的凭据?

    Runas /user:TargetComputerName\TargetAccountName "sc.exe \\testsvr stop ""myService"""

    • 1
  4. ssvarc
    2010-01-20T18:50:10+08:002010-01-20T18:50:10+08:00

    您可能想查看 Powershell 2.0。它可能将此功能内置为一种 RDP,因此您不需要域,而是启用连接并打开一些端口。在这里寻找一个简单的描述和一些你可以谷歌的关键词。

    • 0
  5. Bryan 'BJ' Hoffpauir Jr.
    2010-01-21T05:37:13+08:002010-01-21T05:37:13+08:00

    在 DOMAIN 环境中,您可以使用 NET USE 命令,前提是已将适当的用户权限授予运行脚本的登录用户。PowerShell 可能是您拥有的最强大的选项,但如果您运行的是较旧的 Microsoft 操作系统,则在运行某些 PowerShell 命令时可能会遇到一些问题。如果一切都是 Windows 2008 或更高版本,我肯定会使用 PowerShell。

    如果这不是一个选项,我已经使用 PSTools 包取得了巨大的成功。如果您确实使用此选项,正如 Evan 之前提到的,您可能应该熟悉同一软件包中的 pskill 实用程序。当您远程处理某些服务时,它们不会优雅地死掉,而这个小实用程序非常适合杀死它们。

    出于好奇,您用什么脚本语言编写代码?VB脚本?批?珀尔?

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve