2013-09-25 96 views
1

我有下面的靜默卸載/等待/安裝腳本,我需要推送給用戶,但我需要腳本它,因此它以管理員身份運行,我發現一些腳本,但我不知道如何編寫腳本,任何幫助表示讚賞。另外,我是否必須將管理員腳本放入兩次? (即在卸載腳本的第一行,然後在第二個安裝腳本的行之前)或只運行一次?如何以管理員身份運行PowerShell腳本?

Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -eq "On-Screen Takeoff"} | foreach- 

object -process {$_.Uninstall()} 

Start-Sleep -Seconds 25 

$arguments="/quiet" 

Start-Process "\\davisconstruction.com\ROOT\Installs\OnCenter\OST\Testverion3906\ost3906.msi" $arguments 
+0

你想在Mac上運行呢? –

+0

沒有在Windows機器上,謝謝。 – Sagun

回答

3

有兩種方式:

  1. 「開始」 你可以右鍵點擊 - > 「的Windows PowerShell模塊」 或 「Windows PowerShell中的ISE」 進入 「開始」 - >「管理工具」 - >「Windows PowerShell模塊」或「Windows PowerShell ISE」。 選擇「以管理員身份運行」。 您在該窗口中運行的任何內容都將以「管理員」身份運行。

  2. 運行你的腳本:

    開始處理 「$ PSHome的\ powershell.exe」 -verb的RunAs -ArgumentList 「-file fullpathofthescript」

+1

這是對的,如果我做了#2:開始 - 進程「$ psHome \ powershell.exe」-verb runas -ArgumentList「-file Get-WmiObject -Class Win32_Product | Where-Object {$ _。Name -eq」On啓動進程「\\ davisconstruction.com \ ROOT \ Installs \」啓動進程「} | foreach- object -process {$ _。Uninstall()} Start-Sleep -Seconds 25 $ arguments =」/ quiet「 Start- OnCenter \ OST \ Testverion3906 \ ost3906.msi「$ arguments – Sagun

+0

似乎使用''啓動過程powershell -verb runas -argument'顯示下面的錯誤,但仍然結束了工作,任何想法?啓動過程:缺少參數'ArgumentList'的參數。指定一個類型爲'System.String []'的參數並重試。在C:\ Users \ TEMP \ AppData \ Local \ Temp \ 0f078c98-bbed-48be-966d-58e2f5f40e8c.ps1:1 char:47 + start-process powershell -verb runas -argument <<<< + CategoryInfo:InvalidArgument :(:) [Start-Process],ParameterBindingException + FullyQualifiedErrorId:MissingArgument,Microsoft.PowerShell.Commands.StartProcessCommand – Sagun

+0

我會創建您的安裝/卸載腳本,然後使用「-file」參數調用該腳本。 – user2610959

相關問題