Запустите установщик из сценария выключения PowerShell
Цель:
- Запустите установщики (.exe) на всех компьютерах домена при завершении работы с помощью сценария PowerShell.
Дано:
- Я успешно использую другие сценарии завершения работы, назначенные GPO
- Скрипт на самом деле работает - проверяется путем записи пользовательских файлов журнала
- Установщик хранится на сетевом ресурсе
Проблема:
- Установщик не запускается при вызове из сценария выключения (ниже)
- Та же проблема с установщиками Java и.NET (оба.exe)
Уже пробовал
- Скрипт работает при запуске вручную
- Общий доступ к файлам установщика доступен для "Все", "Аноним", "Доменные компьютеры"
$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
}
1 ответ
Решение
Возможно, установщик не завершает работу до завершения работы системы. Попробуйте командлет Start-Process с параметром -Wait?
Start-Process -FilePath "\\ad1dc01\deployment$\Microsoft\DotNet\452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" -ArgumentList "/q /norestart" -Wait