标签: psexec

执行批处理文件时,MSBuild PSExec会挂起而不会出错

作为Team Build MSBuild脚本的一部分,我们需要在远程服务器上执行部署批处理文件:

<Exec Command="psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat "/>
Run Code Online (Sandbox Code Playgroud)

我可以确认它不是权限或防火墙:例如,如果将bat命令更改为运行iisreset或calc.exe,则该命令将起作用.

我已经尝试了-s和> nul标志,并且还在调用cmd时包装批处理文件.我已尝试在bat cmd周围使用和不使用引号.

我尝试的所有选项都可以在构建服务器上的cmd行中正常工作,但是没有一个可以在构建脚本本身内工作.

有任何想法吗?

msbuild batch-file psexec tfsbuild tfs2010

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

可以在没有 psexec 的情况下运行远程命令吗?

我正在尝试在多台远程计算机上运行批处理文件。它有一些注册表更改和其他我可以远程运行的命令。我有一个命令我无法找到替代方案:

net user USERNAME /PASSWORDREQ:yes
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用 psexec 的情况下远程运行此命令?我不想将我的批处理文件与依赖项一起分发。

powershell batch-file psexec

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

远程计算机上的PSexec挂起从Teamcity运行

我正在运行TeamCity版本7.1.4,其中包含使用PSEXEC的步骤,以便在远程计算机上运行批处理文件.批处理文件应提取文件并进行部署.从命令提示符运行PSEXEC完成任务.从团队城市运行我总是得到以下挂起:

PsExec v1.98 - 远程执行进程[12:19:34]版权所有(C)

2001-2010 Mark Russinovich [12:19:34] Sysinternals -

www.sysinternals.com

teamcity psexec

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

无法使用psexec在远程计算机上启动记事本

我需要在远程计算机上执行一些脚本,我尝试启动记事本.我用psexec这个命令

psexec -e -i 1 \\localhost -u domain\user -p password cmd /c notepad.exe
Run Code Online (Sandbox Code Playgroud)

在我的本地计算机上成功打开记事本,但不在远程上执行.我看不到任何错误,输出与我在本地机器上执行后看到的相同:

PsExec v2.0 - Execute processes remotely
Copyright (C) 2001-2013 Mark Russinovich
Sysinternals - www.sysinternals.com
Run Code Online (Sandbox Code Playgroud)

可能是因为我无法在远程计算机上成功执行记事本?

windows psexec

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

psexec退出,错误代码为1-双引号

当我在参数中添加双引号时,为什么下面的psexec执行命令失败?

  • 没有 psexec并带有双引号的情况下,它可以正常工作
  • 它工作正常使用 PSEXEC 没有双引号!

在此处输入图片说明

.bat文件的内容如下:

set FILEPATH=%~1
set BAT_ARCHIVE_IDENTIFIER=%~2
set DEPLOYMENT_ROOT=%~3
echo %FILEPATH% %BAT_ARCHIVE_IDENTIFIER% %DEPLOYMENT_ROOT%
Run Code Online (Sandbox Code Playgroud)

command-line batch-file command-prompt psexec command-line-arguments

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

使用参数运行exe不起作用

var p = Process.Start(@"c:\PsTools\PsExec.exe", @"C:\Windows\System32\notepad.exe");
var err = p.StandardError.ReadToEnd();
var msg = p.StandardOutput.ReadToEnd();
lblStatusResponse.Text = "Err: " + err + "Msg: " + msg;
Run Code Online (Sandbox Code Playgroud)

为什么我的代码不起作用?

我收到错误消息:

System.InvalidOperationException:StandardError尚未重定向。

但是当我添加以下内容时:

p.StartInfo.RedirectStandardError = true;
var p = Process.Start(@"c:\PsTools\PsExec.exe", @"C:\Windows\System32\notepad.exe");) 
Run Code Online (Sandbox Code Playgroud)

它仍然会出现相同的错误。

主要问题是我想执行带有参数的exe,但无法正常工作。

c# psexec

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

如何在本地用户名下在远程计算机上运行R脚本(使用集成的Windows身份验证具有数据库连接)?

请考虑以下情形:

  • 数据库服务器:DBServer
  • R服务器:RServer
  • Orchestrator服务器:Server1

我们有以下R脚本(DB.r):

lib.directory = "D:\\RTest"
install.packages("RODBC", repos = "http://cran.us.r-project.org", lib = lib.directory)
library(RODBC, lib.loc = lib.directory)

db.string <- "driver={ODBC Driver 13 for SQL Server};server=DBServer;database=Databse1;trusted_connection=Yes;"
db.channel <- odbcDriverConnect(db.string)
close(db.channel)
Run Code Online (Sandbox Code Playgroud)

Server1使用以下代码在R Server上远程执行R脚本:

PsExec.exe \\RServer "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "D:\RTest\DB.r"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[RODBC] ERROR: state 28000, code 18456, message [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Run Code Online (Sandbox Code Playgroud)

如何在不发送用户名和密码作为PsExec的一部分的情况下解决此错误?

我们愿意使用任何替代方法来取代PsExec.

database windows kerberos r psexec

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

如何更改 psexec.exe 使用的根文件夹?

我正在尝试使用 psexec.exe 在远程计算机上运行批处理文件
我的代码是;

psexec.exe \\192.168.13.187 -u Administrator -p default -d -i c:\temp\abc.bat
Run Code Online (Sandbox Code Playgroud)

但是当我在命令提示符下执行此操作时,它连接到远程服务器的 system32 文件夹然后启动批处理文件。问题是批处理文件中有一些 CALL 方法(如 CALL XXX.BAT)(XXX.BAT 文件在同一个文件夹。)由于psexec.exe 使用system32 文件夹作为根路径,因此在成功运行c:\temp\abc.bat 文件后,它无法调用其他批处理文件。抛出'找不到指定的文件'..

我的问题是;连接远程计算机后,如何使用远程 C:\temp\ 文件夹作为根路径?

提前感谢您的帮助!!

windows cmd batch-file command-prompt psexec

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

PSExec中的会话ID

Psexec无法在远程会话上为我显示记事本GUI。因此,我正在尝试获取会话ID,如下所示:

c:\Users\Amitra\Downloads\PSTools>PsExec -u administrator -p force \\135.20.230.160 query session
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
>services                                    0  Disc
 rdp-tcp#0         Administrator             1  Active  rdpwd
 console                                     4  Conn
 rdp-tcp                                 65536  Listen
query exited on 135.20.230.160 with error code 1.
Run Code Online (Sandbox Code Playgroud)

现在,使用上面的输出,在psexec中正确的命令在IP地址上运行记事本应该是什么?

windows powershell psexec

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

为什么命令在 Windows CMD 中工作而不是在 PowerShell 中工作?

我有一个将可执行文件和 .ps1 保存到远程计算机列表的脚本。然后在每台计算机上运行可执行文件。由于静默运行时的设置方式,我必须使用 .ps1 调用可执行文件。

我注意到我的一个命令从命令行快速运行,但似乎挂在我的脚本中。有什么理由会发生这种情况吗?

命令是:

psexec -s @C:\myscript\computers.txt cmd /c "Powershell Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass && PowerShell -noninteractive -file "C:\Install.ps1""
Run Code Online (Sandbox Code Playgroud)

这是我的整个脚本:

cls #clear screen

function CopyFiles {

    # Get .exe from source and place at destination workstation
    $source2="\\mainserver\program.exe"
    $destination2="\\$line\c$\program.exe"           # place .exe on C:\ directory of worstation
    Copy-Item -Recurse -Filter *.* -path $source2 -destination $destination2 -Force

    # Get .bat from source and place at destination workstation
    $source3="\\fileserver\Install.ps1"
    $destination3="\\$line\c$\Install.ps1"  # place .bat on C:\ directory of worstation
    Copy-Item …
Run Code Online (Sandbox Code Playgroud)

powershell psexec

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

subprocess.check_ouput()返回代码

我正在使用subprocess.check_output()通过Sysinternals PSExec在远程计算机上执行一些命令。我遇到的问题是,如果命令给出非零的返回码,则check_output()会引发CalledProcessError。

PSExec将创建的进程的PID作为其返回代码,因此很明显每次都会出现错误。有没有一种方法可以覆盖此错误并仍然检查psexec调用的输出?基本上,我只需要查看输出,即使其返回码为非零也是如此。

谢谢!

python subprocess psexec

0
推荐指数
1
解决办法
1593
查看次数

为什么FOR/F从文件中获取数据时将空格作为有效行,如何防止这种情况?

所以我一直在研究这个批处理脚本一段时间,这是我写过的第一个.我们的想法是连接到我们域中的远程计算机并收集一些信息.

我正在使用一个带有机器IP地址的.txt文件,每行一个,每个用逗号分隔.

192.168.1.1,

192.168.1.2,

192.168.1.3

出于某种原因,一旦脚本到达文件中的最后一个IP地址,它就会查询一个空格.此空白区域是尾随空格字符吗?以及如何防止这种情况发生?

我目前获得脚本设置的方式意味着当计算机无法访问时,它会将消息回显给日志文件.所以每次我运行脚本时都会添加一条额外的行说"(BLANK SPACE) 机器无法访问 "我知道这只是一个小问题,但它让我烦恼.

这是我的代码

@echo off
title Audit Script

for /F %%i in (C:\testlist.txt) DO call :test %%i

:test

ping %1 > out.txt
find "Reply" out.txt > nul
if %ERRORLEVEL%==0 GOTO sysinf
if %ERRORLEVEL%==1 GOTO pingerror

:pingerror
echo %1 Unreachable
echo. >> C:\Computer-Audit.log
echo ########################################################## >> C:\Computer-Audit.log
echo MACHINE %1 was unreachable on the %date% at %time% >> C:\Computer-Audit.log
echo ########################################################## >> C:\Computer-Audit.log
echo. >> C:\Computer-Audit.log
GOTO :eof

:sysinf
psexec \\%1 -u Administrator …
Run Code Online (Sandbox Code Playgroud)

windows for-loop cmd batch-file psexec

0
推荐指数
1
解决办法
44
查看次数