我的任務是按鍵盤序列,如按Ctrl +移+[R,重新啓動Windows服務。PowerShell腳本重新啓動服務
我有一個腳本,可以在PowerShell ISE中以管理權限啓動時正常工作。
當我嘗試使用PowerShell腳本時,由於管理權限不足而失敗。令人煩惱的是,我可以讓它與老式的bat文件一起工作,但不是PowerShell。
問題的根源在於PowerShell腳本的快捷方式的管理權限框變爲灰色。到目前爲止,沒有解決方法已經克服了這個特權問題。
任何想法?
我的任務是按鍵盤序列,如按Ctrl +移+[R,重新啓動Windows服務。PowerShell腳本重新啓動服務
我有一個腳本,可以在PowerShell ISE中以管理權限啓動時正常工作。
當我嘗試使用PowerShell腳本時,由於管理權限不足而失敗。令人煩惱的是,我可以讓它與老式的bat文件一起工作,但不是PowerShell。
問題的根源在於PowerShell腳本的快捷方式的管理權限框變爲灰色。到目前爲止,沒有解決方法已經克服了這個特權問題。
任何想法?
一種方法是在腳本中啓動另一個升高PowerShell會話就像這樣:
Start-Process PowerShell.exe -arg '-nologo -noprofile script.ps1' -verb runas
那應該提示來提升新的PowerShell會話。我認爲你應該能夠設置-WindowStyle參數,使得新窗口不會出現(如果你需要這種行爲)。請注意,您需要指定現有腳本的完整路徑。
該腳本完美工作 - 在PowerShell中,但是如何獲得第二個PowerShell文件或其快捷方式爲「以管理員身份運行」?對我來說那個盒子是灰色的。 有誰知道爲什麼'以管理員身份運行'可用於任務欄上的PowerShell.exe,但不在桌面上? – 2010-05-15 07:12:58
這個想法是,你不需要。第一個PowerShell腳本是在沒有管理員的情況下啓動的,當它「啓動」第二個使用-verb runas的powershell進程時 - 那時候會提示你升級。 – 2010-05-15 18:24:16
最後我看到 - 尤里卡,它的工作原理。我一直犯過分思考。感謝您的幫助,並感謝您堅持讓我看到光明。 – 2010-05-16 17:38:07
你建議你不喜歡用批處理文件解決這個問題(例如net start),我想因爲批處理文件本質上比powershell腳本更有限。你可以做的是將你的Ps腳本包裝在一個批處理文件中,但爲了實現你所說的目標 - 使用沒有訪問權限問題的鍵盤快捷方式運行powershell腳本。試試這個批處理文件:
powershell set-executionpolicy remotesigned
powershell myscript.ps1
嗯,沒有問題。用PS封裝你的批處理文件會比這更快,解決你所說的問題。 我想我不太明白你爲什麼試圖避免批處理文件,除了它們比power shell更能限制它們的功能。如果我知道你和他們有什麼問題,我可能會爲你另外安排一些東西。 – John 2010-05-15 16:56:07
您正在使用哪個版本的Windows? – Nate 2010-05-14 15:54:46
的Windows Server 2008的PowerShell 2.0版 – 2010-05-15 07:08:58