1
背景:獲取 「的參數或無效的屬性賦值錯誤號」 從JavaScript運行WScript.Shell.Run()時
我試圖運行C:在一個\ Windows \ SYSTEM32 \ Logoff.exe本地計算機從ASP.NET Web應用程序註銷本地用戶的終端服務會話。
這是我到目前爲止有:
C#
protected void btnContinueClick(Object sender,
EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("WshShell = new ActiveXObject('WScript.Shell');\n");
sb.Append(@"WshShell.Run('C:\\Windows\\System32\\Logoff.exe " + intSessionID + " /SERVER:" + strServer + "', 1, false);");
ScriptManager.RegisterStartupScript(Page, GetType(), "RestartSession", sb.ToString(), true);
運行上面的IE的F12菜單打開,顯示腳本被添加到我的成功HTML:
HTML
<script type="text/javascript">
//<![CDATA[
WshShell = new ActiveXObject('WScript.Shell');
WshShell.Run('C:\\Windows\\System32\\Logoff.exe', 1, false);//]]>
</script>
</form>
</body>
然而,當運行(...)行執行我得到IE以下錯誤:
Error: WshShell.Run() Wrong number of arguments or invalid property assignment
我曾嘗試:
- 取出 「1,假」 可選參數=相同的錯誤。
- 移動'',使行讀取(不知道哪個是正確的):
sb.Append(@"WshShell.Run('C:\\Windows\\System32\\Logoff.exe " + intSessionID + " /SERVER:" + strServer + ", 1, false);'");
=相同的錯誤。 - 使用裏面的logoff命令調用一個.bat文件。 (.bat確實運行,但我得到一個新的錯誤:
"logoff is not recognized as an internal or external command, operable program or batch file"
。非常類似於Call logoff in Ant script。 - 也改變了我想到的儘可能多的組合中的轉義字符,所以我不認爲是這樣。
- 直接從CMD窗口並預期工作。
請幫助運行命令!
從內部Intranet的Web應用程序註銷用戶的終端服務會話的任何合適的替代方法,也將是非常感謝!
'註銷'需要一些參數? – Teemu
我的計劃是將行替換爲:'sb.Append(@「WshShell.Run('C:\\ Windows \\ System32 \\ Logoff。但是這會產生相同的錯誤。intSessionID和strServer是終端服務會話標識和服務器主機名的正確值。 –
已編輯顯示這些參數的問題,因爲我認爲從Web服務器運行時這些參數是必需的。 –