【发布时间】:2015-12-21 06:58:39
【问题描述】:
我正在使用PSEXEC 来获取注册表项值。以下是我的代码。
PowerShell:
Set-Alias psexec "e:\test\psexec.exe"
psexec \\172.20.118.74 -i -d -s -u xsumrouadm -p Welkom01 /c "E:\test\DeviceHealthRegistry.bat"
批处理文件:
@echo off &setlocal
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0011 /v "IEEE11nmode"
@echo >> \\esessmw2395\c$\test\QueryDeviceHealth-Registry.csv
我收到如下错误:
psexec : At line:3 char:1
+ psexec \\in00121324 e:\test\DeviceHealthRegistry.bat
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
The system cannot find the path specified.
Connecting to in00121324...
Starting PSEXESVC service on in00121324...
Connecting with PsExec service on in00121324...
Starting e:\test\DeviceHealthRegistry.bat on in00121324...
PsExec could not start e:\test\DeviceHealthRegistry.bat on in00121324:
计算机名修改为IP地址
psexec : At line:3 char:1
psexec \\172.20.118.74 -i -d -s -u xsumrouadm -p Welkom01 /c "E:\test\DeviceHeal ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
The file exists.
Connecting to 172.20.118.74...
Starting PSEXESVC service on 172.20.118.74...
Connecting with PsExec service on 172.20.118.74...
Copying E:\test\DeviceHealthRegistry.bat to 172.20.118.74...
Error copying E:\test\DeviceHealthRegistry.bat to remote system:
【问题讨论】:
-
错误提示:
The system cannot find the path specified。看起来您需要仔细检查文件名和路径。也可以阅读 Sysinterals 的论坛了解一些 syntax tips。 -
我正在寻找错误的解决方案:PsExec 无法在 in00121324 上启动 e:\test\DeviceHealthRegistry.bat 和错误:将 E:\test\DeviceHealthRegistry.bat 复制到远程系统时出错:
-
/c->-c怎么样? -
根据technet.microsoft.com/en-us/sysinternals/psexec.aspx,如果您打算在执行文件之前将文件复制到远程计算机,则应使用
-c。如果.bat文件已经存在于该机器上并且可以通过 PATH 找到,则可以跳过-c标志。 -
@PetSerAl
PsExec接受这两种表示法。
标签: powershell psexec