标签: psexec

是否存在用Delphi编写的开源psexec克隆?

我想在应用程序中添加psexec类型的功能,但我想在原生Delphi中使用它.最终,我的目标是以SYSTEM身份远程执行进程,这需要在远程计算机上安装服务.

我熟悉用Visual C++编写的XCmd项目.如果已经存在这个程序/功能的Delphi克隆,那就太棒了.如果没有,我将努力将XCmd项目的逻辑转换为Delphi.

有没有人知道Delphi的psexec或xcmd克隆?

delphi psexec

5
推荐指数
1
解决办法
1177
查看次数

psexec不被承认

我正在使用Microsoft Server 2008计算机.出于某种原因,命令"psexec"在这台1台机器上的PowerShell中无效.

当我尝试运行它时,我得到了这个:

PS C:\> psexec
The term 'psexec' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:7
+ psexec <<<<
    + CategoryInfo          : ObjectNotFound: (psexec:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\>
Run Code Online (Sandbox Code Playgroud)

它正在运行powershell 2.0.我发现这一点:

PS C:\> $Host.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0 …
Run Code Online (Sandbox Code Playgroud)

powershell psexec

5
推荐指数
1
解决办法
3万
查看次数

批处理文件 - 捕获PSEXEC结果

如果我运行一个成功的PSEXEC命令,它会说...
"cmd退出于workstation.domain,错误代码为0."

有什么方法可以防止这种情况并做类似的事情

psexec \\workstation.domain -u username -p password cmd /c "assoc.pdf= "
if %errorlevel%==0 (
  echo Success!
) else (
  REM display psexec error here.
)
Run Code Online (Sandbox Code Playgroud)

batch-file psexec

5
推荐指数
1
解决办法
2万
查看次数

在Windows Service中使用PsExec退出代码6

我正在使用PsExec对网络上的计算机进行远程碎片整理。这在我的C#代码中可以很好地工作,但是由于它还完成了许多其他任务,并且希望它连续运行,因此我将其转换为Windows服务。

当代码到达PsExec部分时,它以代码6退出,这似乎意味着“句柄无效”。我尝试输入具有足够特权的用户名和密码但没有成功,我还尝试添加-s来使用系统帐户这也没有帮助。

这是我设定PsExec争论的地方...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula -s defrag.exe " + volume + " -f";
Run Code Online (Sandbox Code Playgroud)

我也尝试过...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + " -f";
psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + "-u myuser -p mypass -f";
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!!但是似乎没有什么可以解决我的问题。

windows-services psexec

5
推荐指数
1
解决办法
3004
查看次数

如何在Windows中远程编辑文本

(注意,这个问题也发布在technet上)

如何在Windows中远程编辑文本文件?

我正在运行和管理许多Windows 7工作站和Windows Server 2012计算机.我希望能够在任何这些机器上远程编辑文本文件.我可以通过psexec或powershell远程连接到任何这些机器.我也可以通过rdp连接,但是对于工作站我宁愿不打开用户,除非我绝对不得不这样做.

例如,我们使用Salt管理状态配置.本地配置文件存储在C:\salt\conf.我希望能够动态编辑这些配置文件.

这个问题涉及同一主题,但没有一个答案特别令人满意.

一些可能的解决方案是:

  • 远程桌面:正如我所说,我宁愿不必将用户从他们的工作站上踢掉
  • 通过UNC路径编辑文件:这仅适用于共享上的文件,设置任意共享以进行快速编辑似乎是个坏主意.
  • 在所有目标计算机上安装某种方式的ftp或ssh服务器.这肯定会有效,但是WinRM已经有效了吗?我觉得在我的组织中的所有机器上安装和配置额外的软件是最后的选择.
  • 通过远程PowerShell会话使用命令行编辑器(例如vim,emacs)进行编辑.这不起作用.我不了解技术细节,但是PowerShell远程会话与ssh连接的交互方式不同.
  • 使用powershell的-replace运算符,out-file和add-content cmdlet进行编辑.这有效,但与全功能文本编辑器几乎不同.
  • 从远程检索内容,在本地编辑,然后回发到远程.这是有效的,可以说是我发现的最佳解决方案.来自之前SO问题的代码示例:
PS C:\Users\Meredith> Invoke-Command -Session $ps -ScriptBlock {get-content c:/inetpub/myapp/web.config} > web.config
Run Code Online (Sandbox Code Playgroud)

编辑网络配置:

PS C:\Users\Meredith> get-content web.config | Invoke-Command -Session $ps -ScriptBlock {set-content c:/inetpub/myapp/web.config}
Run Code Online (Sandbox Code Playgroud)

最后两个选项是我现在使用的工作流程.正则表达式替换非常简单的更改,并复制到本地和编辑那里更复杂的.两者都不理想,但它们都有效.它只是感觉难以置信的老式.

我正在考虑将一个插件写入我选择的编辑器(vim)来执行远程提取和保存,以使我的工作流程更加顺畅.在我尝试之前,我只是想知道是否有任何我错过或误解的内容.

windows powershell text psexec winrm

5
推荐指数
1
解决办法
2537
查看次数

当使用PHP连接到SSH时,CMD启动或PSExec在前台打开交互式应用程序

我通过连接到SSH的远程PHP脚本运行以下代码:

cmd /C start "" /MAX /b "C:\Windows\System32\notepad.exe"
Run Code Online (Sandbox Code Playgroud)

该过程确实启动,但它仍然在后台,并且无法在远程桌面上完全打开.有没有办法让它以交互方式工作(比如PSExec如何使用-i标志)?

编辑:

所以PHP连接到SSH ssh2_connect然后ssh2_exec以下列方式使用:

        if (!($stream = ssh2_exec($con, $shcom ))) {
Run Code Online (Sandbox Code Playgroud)

$shcom传递给SSH的命令在哪里,例如:

    $shcom = 'cmd.exe /C start "" /MAX "%SystemRoot%\System32\calc.exe"';
Run Code Online (Sandbox Code Playgroud)

我之前使用PSExec和PuTTY(请注意不是通过PHP脚本)通过以下方法在远程计算机上手动打开notepad.exe:

cd "C:\Program Files\PSExec\" & psexec \\localhost -i 2 -ds "C:\Windows\System32\notepad.exe"
Run Code Online (Sandbox Code Playgroud)

哪个成功地工作但是这也没有通过PHP正常运行.目前,CMD和PSExec都不能自动在前台启动交互式应用程序.

php windows cmd openssh psexec

5
推荐指数
1
解决办法
1224
查看次数

Psexec,cmd和批处理文件

我在winserver2008桌面上有一个名为a.bat的批处理文件.

该批处理文件仅将SessionID(从环境变量)写入本地事件日志.

我想使用cmd远程执行它(否则会出现SessionName).

所以我试过了

c:\PsTools\psexec.exe \\<Server> -u test2 -p <Password> -i 2 cmd "c:\Users\test-2\Desktop\a"
Run Code Online (Sandbox Code Playgroud)

要么

c:\PsTools\psexec.exe \\<server> -u test2 -p <Password> -i 2 "cmd \"c:\Users\test-2\Desktop\a\"";exit
Run Code Online (Sandbox Code Playgroud)

所有这些只是打开远程机器上的终端但不执行批处理.

任何想法?

最好的祝福,

scripting cmd psexec

4
推荐指数
1
解决办法
7万
查看次数

通过PsExec在远程计算机中执行批处理文件

我试图通过PSExec在远程PC上运行一个批处理文件(在我刚刚写的'notepad'的批处理文件中).下面的psexec命令在我的笔记本电脑中运行,但无法在远程PC上执行任何操作.我甚至没有看到"记事本"在远程机器的进程列表上运行.


c:\Program Files (x86)\PSTools>psexec -u administrator -p force \\135.20.230.160 -s -d cmd.exe /c -c "C:\Amtra\bogus.bat"

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


cmd.exe started on 135.24.237.167 with process ID 1520.
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我,我在这里出错了吗?

谢谢,

windows psexec sysinternals powershell-3.0

4
推荐指数
1
解决办法
8万
查看次数

PSEXEC无法在本地运行:与PsExec服务建立通信时出错

在本地运行PSEXEC时,我只在我的域中的单个Windows 8.1计算机上出现此问题.在我的域密码过期并更改之前,使用此命令在本地运行PSEXEC.

\\fs\storage\QA\Mason\psexec\PSExec.exe \\support02 /accepteula -u build -p password -e -s \\fs\storage\QA\Mason\psexec\Cambria_RI.bat
Run Code Online (Sandbox Code Playgroud)

现在,它产生了这个错误:

在SUPPORT02上与PsExec服务建立通信时出错:系统找不到指定的文件.

编辑1:似乎本地运行PSEXEC,本地目标(.bat)文件修复此问题.为什么我突然限制只使用本地文件?

EDIT2:执行与上面相同的命令,但使用不同的目标机器也可以.

psexec

4
推荐指数
2
解决办法
2万
查看次数

PsExec 仅适用于“runas /netonly”,不适用于 -u 和 -p 参数

我的意思是说:

如果我...

  1. 跑步runas /netonly /user:computername\username cmd

  2. 输入本地管理员帐户“用户名”的密码

  3. 然后输入psexec \\computername cmd

我现在有了一个工作 shell,可以在远程计算机上以本地管理员用户身份运行命令。

但是,尝试在没有runas... 的情况下运行此程序,而是使用用户名和密码参数来psexec返回访问被拒绝错误。

下面的例子:

psexec \\computername -u username -p password cmd

Access Denied

注:其他人似乎也有这个问题。我的精致问题:

  • 这是有意的行为吗?
  • 为什么还要有-u-p

我还尝试禁用我的计算机和目标计算机上的防火墙,并添加此处列出的注册表项。

cmd psexec sysinternals

4
推荐指数
1
解决办法
6866
查看次数