从客户端返回值,在服务器中读取

时间:2021-07-28 17:08:30

标签: windows batch-file cmd return-value remote-access

我正在尝试从远程系统获取主机名、日期和时间,其中在执行服务器端批处理文件时没有获得所需的结果

参考: 远端批处理文件

@echo off
hostname.exe > __t.tmp
set /p host=<__t.tmp
del __t.tmp
set hst=%host%
set dt=%Date%
Set tm = %Time%
set RETURNVALUE= %host%, %Date%, %Time% 
ENDLOCAL&SET %~1=%RETURNVALUE%

如果我回应'ReturnValue',这一切都很好

和Server Side Batch File(iplist.txt是包含远程机器IP的文件)

@echo off
for /f "tokens=*" %%a in ('type iplist.txt') do (
set line=%%a
echo %line%
wmic /node:%line% process call create "cmd.exe D:\\Scripts\\RCMD_TS.bat RtVal"
echo %RtVal%
)
set %%a=
set %a=
set line=
set rt=

这将返回以下内容:

D:\Scripts>ServerSideExecuteRemoteCommand.bat
ECHO is off.
call - Alias not found.
ECHO is off.
ECHO is off.
call - Alias not found.
ECHO is off.
ECHO is off.
call - Alias not found.
ECHO is off.
ECHO is off.
call - Alias not found.
ECHO is off.

我在这里做错了什么?我也可以得到 3 个值(单独的主机名、日期和时间)而不是 1 个(返回值)我尝试过但它没有发生。

1 个答案:

答案 0 :(得分:0)

这似乎可以使用 PowerShell 轻松完成。这不是一个完整的解决方案,但这些可能会有所帮助。当然,网络需要配置为支持 PowerShell 远程处理。

A (*p)[M] = malloc( N * sizeof *p );
相关问题