首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在本地系统帐户下运行CMD.exe?

如何在本地系统帐户下运行CMD.exe?
EN

Stack Overflow用户
提问于 2008-09-16 21:48:52
回答 7查看 401.5K关注 0票数 165

我当前正在运行Vista,我想手动完成与我的Windows服务相同的操作。由于Windows服务是在本地系统帐户下运行的,因此我想模拟同样的行为。基本上,我希望在本地系统帐户下运行CMD.EXE。

我在网上找到了一些建议使用DOS Task Scheduler AT命令加载CMD.exe的信息,但是我收到了一个Vista警告,“由于安全增强,这个任务将在例外的时间运行,但不是交互的。”下面是一个命令示例:

代码语言:javascript
复制
AT 12:00 /interactive cmd.exe

另一种解决方案建议通过仅启动CMD.exe的服务控制(sc.exe)创建辅助Windows服务。

代码语言:javascript
复制
C:\sc create RunCMDAsLSA binpath= "cmd" type=own type=interact
C:\sc start RunCMDAsLSA

在这种情况下,服务无法启动,并导致出现以下错误消息:

代码语言:javascript
复制
FAILED 1053: The service did not respond to the start or control request in a timely fashion.

第三个建议是通过计划任务启动CMD.exe。虽然您可以在不同的帐户下运行计划任务,但我不认为本地系统帐户是其中之一。

我也尝试过使用Runas,但我认为我遇到了与运行计划任务时相同的限制。

到目前为止,我的每一次尝试都以失败告终。有什么建议吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-09-17 00:36:37

虽然我没有亲自测试过,但我有充分的理由相信上述AT命令解决方案将适用于XP、2000和Server2003。根据my和Bryant的测试,我们发现同样的方法在Vista或Windows Server2008上不起作用--很可能是因为增加了安全性和/interactive开关被弃用。

然而,我偶然发现了这个article,它演示了来自SysInternals (2006年7月被微软收购)的PSTools的用法。我通过以下命令行启动了命令行,突然我以本地管理员帐户运行,就像变魔术一样:

代码语言:javascript
复制
psexec -i -s cmd.exe

PSTools运行得很好。这是一套轻量级的、文档齐全的工具,为我的问题提供了一个合适的解决方案。

非常感谢那些提供帮助的人。

票数 254
EN

Stack Overflow用户

发布于 2008-09-16 21:56:27

找到了一个答案here,它似乎可以通过将/k start添加到binPath参数来解决问题。所以这会给你带来:

sc create testsvc binpath= "cmd /K start" type= own type= interact

然而,本说这对他不起作用,当我在Windows Server2008上尝试时,它确实在本地系统下创建了cmd.exe进程,但它不是交互式的(我看不到窗口)。

我不认为有一个简单的方法来做你所要求的,但我想知道你为什么要这样做?你只是想看看在你运行你的服务时发生了什么吗?似乎您可以只使用日志记录来确定发生了什么,而不必将exe作为本地系统运行……

票数 10
EN

Stack Overflow用户

发布于 2011-02-21 16:24:52

另一种替代方案是进程黑客,如果你进入运行方式...(交互式对具有安全增强功能的人不起作用,但这无关紧要)当对话框打开时,将服务放入框中,将系统放入用户框中,剩下的放入C:\Users\Windows\system32\cmd.exe,单击ok,然后单击boch,您将看到一个带有cmd的窗口,并以系统身份运行,现在自己执行其他步骤,因为我建议您了解它们

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/77528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档