朋友们请帮助我使用VBscript代码或批处理脚本或在远程桌面上执行批处理文件的任何可能方式。
我尝试了很多但是没有成功。
注意:未提供psexec或任何其他外部工具。
答案 0 :(得分:1)
我建议使用psexec的批处理文件。下载psexec,将其复制/粘贴到批处理文件中,并根据需要编辑变量。我在几个夜间的Control-M工作中使用了类似的过程。
@ECHO OFF
REM ***** Set path to PSEXEC.exe *****
SET PSEXEC="H:\Utilities\PsTools\psexec.exe"
REM ***** Set path to batch file on remote server (unc paths work)
SET BATCHFILE="C:\path\to\batch.bat"
REM ***** Set server to execute batch on
SET REMOTESERVER="\\testserver"
REM ***** PRODUCTION SERVERS *****
ECHO Executing %BATCHFILE% on %REMOTESERVER%
%PSEXEC% %REMOTESERVER% %BATCHFILE%
答案 1 :(得分:0)
我已通过使用Windows Scheduler调度批处理文件来实现此解决方案,并触发Windows Scheduler使用以下代码运行批处理文件
string job = @"""\JobLocation\JobName""";
string server = @"XXXXXXXXXXX";
string user = @"Domian\XXXXXX";
string pwd = @"XXXXXXXXXXXXXXX";
string line = @" /run /tn " + job + " /s " + server + " /u " + user + " /p " + pwd;
var process = new Process();
var startInfo = new ProcessStartInfo
{
CreateNoWindow = true,
FileName = @"C:\WINDOWS\SYSTEM32\schtasks.exe",
WindowStyle = ProcessWindowStyle.Hidden,
Arguments = line,
//WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory,
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true
};
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
string output = process.StandardOutput.ReadLine();
string errors = process.StandardError.ReadLine();