1
我正在製作一個應用程序,它允許客戶端在對話框中列出其所有正在運行的進程。我目前有下面的代碼,我無法弄清楚爲什麼它不工作。C#無法捕獲輸出當以其他用戶身份運行時
我沒有看到任何輸出,無論是sderr還是stdout。有人可以請指點我正確的方向嗎?
非常感謝
private void button1_Click(object sender, EventArgs e)
{
string test = " ";
var ss = new SecureString();
ss.AppendChar('T');
ss.AppendChar('a');
ss.AppendChar('k');
ss.AppendChar('e');
ss.AppendChar('c');
ss.AppendChar('a');
ss.AppendChar('r');
ss.AppendChar('e');
ss.AppendChar('9');
ss.AppendChar('9');
ss.MakeReadOnly();
var serverName = "SERVER-NAME";
var sessionID = "2";
var PID = "6816";
ProcessStartInfo startInfo = new ProcessStartInfo("cmd", "/C tasklist /S " + serverName + " /FI \"SESSION eq " + sessionID + "\" >C:\\users\\test.account\\desktop\\NEWEWE.txt")
{
WorkingDirectory = @"C:\windows\system32",
Verb = "runas",
Domain = "BARDOM1",
UserName = "XATest",
Password = ss,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
Process proc = Process.Start(startInfo);
proc.OutputDataReceived += (x, y) => test += (y.Data);
proc.BeginOutputReadLine();
proc.WaitForExit();
MessageBox.Show(test);
MessageBox.Show("done");
我試圖重定向輸出設置爲真與假,我已經嘗試設置> C:......在各種性質的CMD命令,但看不到任何輸出。
任何幫助,這是非常感謝! 非常感謝
可能沒有輸出,因爲該命令被重定向到一個文件。如果你把它改成'新的ProcessStartInfo(「cmd」,「/ C任務列表/ S」+ serverName +「/ FI \」SESSION eq「+ sessionID)'它是否有效? – theB
嗨,B,不僅你是對的,服務器還需要重新設置,以便XAtest可以重新獲得他們的管理權限! – Bassie
我將在幾分鐘內將該評論擴展爲實際的答案 – theB