我编写了第一个脚本,它可以获取并显示我们网络中 PC 的运行时间。首先,它将 pstools 文件夹复制到我想要检查的 PC。它转到我 PC 上的 pstools 文件夹,这样我就可以启动 psexec。它运行命令,显示 psinfo,然后从远程 PC 中删除复制的文件夹。我的问题是,只有我手动接受 EULA 时它才有效(因此直接从 PC 启动程序,当 EULA 消息出现时按“接受”,然后我才能使用我的脚本。)我尝试使用 -accepteula 开关,但它不起作用,我仍然收到错误消息,提示我需要接受 EULA。
脚本:
@echo off
set ipaddress= Default
echo Enter the IP Address of the PC that you want to check:
set /p ipaddress=
echo Trying to copy PsTools file to %ipaddress%
timeout /t 2 /nobreak > NUL
robocopy \\myserver\sharedfolder\PSTools \\%ipaddress%\c$\Users\myadminuser\Downloads\PSTools
echo PsTools folder copied!
timeout /t 2 /nobreak > NUL
echo I want to start psexec from my folder, so lets go there
timeout /t 2 /nobreak > NUL
cd c:\users\myusername\downloads\pstools
echo OK, i am in my PSTools folder, time to start PsExec!
echo Let me connect to %ipaddress%
timeout /t 2 /nobreak > NUL
psexec \\%ipaddress% -u myadminuser \\%ipaddress%\c$\usersmyadminuser\Downloads\PSTools\PsInfo.exe -accepteula
echo Info gathered. Lets delete the copied PSTools folder from %ipaddress%
timeout /t 2 /nobreak > NUL
@RD /S /Q "\\%ipaddress%\c$\users\myadminuser\Downloads\PSTools\"
echo PSTools folder deleted!
pause
我尝试在 psexec 之后、ipaddress 之后以及所有地方写入-accepteula
...我做错了什么?
答案1
wmic /node:127.0.0.1 OS get LastBootupTime /format:list
或(这是上面的包装)
systeminfo /s 127.0.0.1 /fo LIST | Findstr /c:"System Boot Time:"
所有这些都不需要软件。
还可以启动远程计算机上的程序
wmic /node:127.0.0.1 process call create "c:\\windows\\Notepad.exe"
NB 程序在远程计算机上运行时不可见,但在本地计算机上可见。