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 / 问题 / 667232
Accepted
Jesse
Jesse
Asked: 2015-02-13 12:02:49 +0800 CST2015-02-13 12:02:49 +0800 CST 2015-02-13 12:02:49 +0800 CST

作为本地系统运行时,有没有办法指定用户名和密码 (-u -p) 运行 PsExec?

  • 772

我有一个 Windows 服务在 Windows Server 2003 上作为本地系统运行,我正在尝试使用 PsExec 以另一个用户身份运行命令(使用-u -p参数),但我不断收到Access is denied. PsExec could not start错误消息。

可以执行以下操作来复制问题:

C:\Documents and Settings\me>PsExec.exe -s cmd

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com


Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINNT\system32>whoami
nt authority\system

C:\WINNT\system32>PsExec.exe -u DOMAIN\my-user -p mypass cmd

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

Access is denied.
PsExec could not start cmd:

在上面的示例中,第一个 PsExec 命令 ( PsExec.exe -s cmd) 将为您提供作为本地系统的命令行。然后第二个 PsExec 命令 ( PsExec.exe -u DOMAIN\my-user -p mypass cmd) 抛出我试图解决的错误。

任何帮助将不胜感激!先感谢您!

windows-server-2003
  • 1 1 个回答
  • 62797 Views

1 个回答

  • Voted
  1. Best Answer
    I say Reinstate Monica
    2015-02-14T11:18:52+08:002015-02-14T11:18:52+08:00

    以 LocalSystem 帐户启动您的第一个实例后PSEXEC.EXE,在命令中包含本地计算机的 IP 地址以启动您的第二个 PSEXEC 实例,如下所示:

    PSEXEC.EXE \\LocalComputerIPAddress -u DOMAIN\my-user -p mypass CMD
    


    解释

    您遇到的行为是由于 Windows Server 2003 的 Service Pack 1 添加的称为Loopback Check Functionality的新安全功能。根据链接的 MSKB 文章:

    [安装 Service Pack 1] 后,当您尝试在以下通用命名约定 (UNC) 路径中使用其完全限定域名 (FQDN) 或其 CNAME 别名来本地访问服务器时,您会遇到身份验证问题:

        \\servername\sharename
    

    在这种情况下,您会遇到以下症状之一:

    • 您会收到重复的登录窗口。
    • 您会收到“拒绝访问”错误消息。
    • 您收到“没有网络提供商接受给定的网络路径”错误消息。
    • 事件 ID 537 记录在安全事件日志中。

    这篇文章提出了两种解决方案(除了我上面提供的解决方法),它们都涉及将注册表编辑为:1)添加可以在 NTLM 身份验证请求中引用的主机名,或者 2)有效地禁用身份验证环回检查将服务器返回到 SP1 之前的行为。

    根据这篇关于PSEXEC 工作原理的 WindowsITPro.com 文章:

    PsExec 在远程系统上启动可执行文件并控制可执行文件进程的输入和输出流,以便您可以与本地系统中的可执行文件进行交互。PsExec 通过从其可执行映像中提取名为 Psexesvc 的嵌入式 Windows 服务并将其复制到远程系统的 Admin$ 共享来实现此目的。

    因此,即使您在本地计算机上运行 PSEXEC,它ADMIN$仍然使用共享,因此您遇到上述环回检查功能行为更改的原因。

    • 9

相关问题

  • 在域加入时将“工作站管理员”添加到本地管理员组

  • 如何轻松地将 DFS 共享移动到新驱动器?

  • 服务器 2003 R2 上的 Cisco VPN 客户端

  • 通过 VPN 更改 Active Directory 密码

  • 如何从 ISA 服务器后面安装 magento 扩展?

Sidebar

Stats

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

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

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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