2015-10-27 51 views
-1

目標:對所有域計算機運行安裝程序從PowerShell中關閉腳本

  • 運行安裝程序(.exe)的在用PowerShell腳本關機。

考慮:

  • 我成功地利用GPO交辦的其他關機腳本
  • 腳本實際運行 - 通過編寫自定義日誌文件驗證
  • 安裝程序存儲在網絡共享

問題:

  • 安裝程序沒有啓動從關機腳本(下同)
  • Java和.NET安裝同樣的問題調用時(包括.EXE)

已經嘗試過

  • 腳本在手動運行時工作
  • 安裝程序文件共享可通過「Everyone」,「Anon ymous」, 「域計算機」
$registry = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | 
Get-ItemProperty -name Version,Release -EA 0 | 
Where { $_.PSChildName -match '^(?!S)\p{L}'} | 
Select Version 

$flag = $false 

foreach ($version in $registry){ 
    if ($version.Version -like "4.5*"){ 
     "Found Version " + $version.Version 
     $flag = $true 
     break 
    } else { 

    } 
} 
if($flag){ 
    # .NET 4.5* is installed 
} else { 
    # install .NET 4.5.2 
    & "\\ad1dc01\deployment$\Microsoft\DotNet\452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" /q /norestart 
} 
+0

問題陳述是大膽大膽的......不知道我該怎麼做。 –

回答

0

也許系統完成關機之前安裝程序沒有完成。使用-Wait參數試用Start-Process cmdlet?

Start-Process -FilePath "\\ad1dc01\deployment$\Microsoft\DotNet\452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" -ArgumentList "/q /norestart" -Wait

+0

感謝您的提示。進行此更改後,我的測試計算機正在可靠地安裝/重新安裝.NET框架。 –

+0

我發現這個鏈接,因爲我正在研究。它詳細介紹了在PowerShell中啓動命令的所有選項。 http://social.technet.microsoft.com/wiki/contents/articles/7703.powershell-running-executables.aspx –