我正在使用Sharepoint 2013 .Net 4.5,我需要在代码后面运行VB脚本(C#)。 此脚本应扫描我的子网并使用子网中的设备保存新的xml。 脚本运行并创建了xml文件,但在内部我没有任何设备。 当我在cmd中运行此脚本时没问题。
这是我的c#代码:
string scriptName = "audit_subnet.vbs";
string create_file = "create_file=y";
string submit_online = "submit_online=n";
string subnet = "subnet=" + StartIP.Text + "-" + EndIP.Text;
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"cscript";
startInfo.WorkingDirectory = @"C:\xml";
startInfo.Arguments = string.Format("\"{0}\" \"{1}\" \"{2}\" \"{3}\"", scriptName,create_file, submit_online, subnet);
startInfo.WindowStyle = ProcessWindowStyle.Normal;
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
在调试中:
startInfo.Arguments = "\"audit_subnet.vbs\" \"create_file=y\" \"submit_online=n\" \"subnet=10.70.77.1-10.70.77.1\""
这是这个脚本(示例): https://github.com/ethanhann/open-awesome/blob/master/bin/audit_subnet.vbs
我自己更改了脚本,当我在cmd中运行它时,它会起作用。
为什么我在c#中启动此脚本是创建文件但不会扫描子网?