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



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

参考:远程批处理文件

@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'

服务器端批处理文件(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(返回值)我尝试过,但它没有发生。

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

$HostName = [Net.DNS]::GetHostByAddress('10.24.12.35').HostName
Invoke-Command -ComputerName $HostName -ScriptBlock {Get-Date}

相关内容

  • 没有找到相关文章

最新更新