我試圖通過c#執行cmd命令,一切正常。 我如何執行包含密碼的「runas」cmd,或者至少如何打開用於插入密碼的cmd提示符。我的代碼執行效果很好,這是我無法解決的唯一問題。 我試過甚至與回聲,但它似乎並沒有工作。C#執行cmd命令
private void btnStart_Click(object sender, EventArgs e)
{
txtResult.Text = string.Empty;
if (txtExecutable.Text.Trim() != string.Empty)
{
StreamReader outputReader = null;
StreamReader errorReader = null;
try
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/C echo " + txtpass.Text + " | runas /user:" + utente.Text + " wmic.exe /node:" + txtExecutable.Text + " ComputerSystem Get UserName && tasklist /s " + txtExecutable.Text + @" /fi ""imagename eq EmpirumRCHost.exe"" && msinfo32.exe \\" + txtParameter.Text;
startInfo.ErrorDialog = false;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
process.StartInfo = startInfo;
process.Start();
bool processStarted = process.Start();
if (processStarted)
{
//Get the output stream
outputReader = process.StandardOutput;
errorReader = process.StandardError;
process.WaitForExit();
//Display the result
string displayText = "Output" + Environment.NewLine + "==============" + Environment.NewLine;
displayText += outputReader.ReadToEnd();
displayText += Environment.NewLine + "Error" + Environment.NewLine + "==============" +
Environment.NewLine;
displayText += errorReader.ReadToEnd();
txtResult.Text = displayText;
}
}
finally
{
if (outputReader != null)
{
outputReader.Close();
}
if (errorReader != null)
{
errorReader.Close();
}
btnStart.Enabled = true;
}
}
}
我需要運行runas命令作爲在遠程pc上具有管理權限的域用戶。
你不能運行你的應用程序作爲管理員? 如果不是我認爲你會在這裏找到解決方案:http://stackoverflow.com/questions/8690552/run-elevated-process – Jontatas 2014-12-03 11:45:25
我認爲你需要重寫你的問題,如果你的問題是關於如何管道輸入在孩子的過程的標準輸入,請嘗試http://www.codeproject.com/Articles/18577/How-to-redirect-Standard-Input-Output-of-an-applic – BlueTrin 2014-12-03 11:47:45
事情是我需要runas作爲遠程計算機上的域管理員,而不是本地管理員。 – 2014-12-03 12:00:39