运行 来自 PowerShell 关机脚本的安装程序
Run Installer From PowerShell Shutdown Script
目标:
- 运行 使用 PowerShell 脚本关机时所有域计算机上的安装程序 (.exe)。
给定:
- 我成功地使用了 GPO 分配的其他关闭脚本
- 脚本实际上是 运行ning - 通过编写自定义日志文件验证
- 安装程序存储在网络共享中
问题:
- 从关闭脚本调用时安装程序不启动(如下)
- Java 和 .NET 安装程序(均为 .exe)存在同样的问题
已经尝试过
- 脚本在 运行 手动
时有效
- 安装程序文件共享可通过 "Everyone"、"Anonymous"、"Domain Computers"
访问
#
$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\DotNet2\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" /q /norestart
}
可能安装程序没有在系统完成关闭之前完成。尝试使用 -Wait 参数启动进程 cmdlet?
Start-Process -FilePath "\ad1dc01\deployment$\Microsoft\DotNet2\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" -ArgumentList "/q /norestart" -Wait
目标:
- 运行 使用 PowerShell 脚本关机时所有域计算机上的安装程序 (.exe)。
给定:
- 我成功地使用了 GPO 分配的其他关闭脚本
- 脚本实际上是 运行ning - 通过编写自定义日志文件验证
- 安装程序存储在网络共享中
问题:
- 从关闭脚本调用时安装程序不启动(如下)
- Java 和 .NET 安装程序(均为 .exe)存在同样的问题
已经尝试过
- 脚本在 运行 手动 时有效
- 安装程序文件共享可通过 "Everyone"、"Anonymous"、"Domain Computers" 访问
$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\DotNet2\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" /q /norestart
}
可能安装程序没有在系统完成关闭之前完成。尝试使用 -Wait 参数启动进程 cmdlet?
Start-Process -FilePath "\ad1dc01\deployment$\Microsoft\DotNet2\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" -ArgumentList "/q /norestart" -Wait