Java 从PowerShell关闭脚本运行安装程序
目标:Java 从PowerShell关闭脚本运行安装程序,java,.net,powershell,active-directory,gpo,Java,.net,Powershell,Active Directory,Gpo,目标: 在关机时使用PowerShell脚本在所有域计算机上运行安装程序(.exe) 给定: 我正在成功使用GPO分配的其他关机脚本 脚本实际上正在运行-通过编写自定义日志文件进行验证 安装程序存储在网络共享上 问题: 从关闭脚本(如下)调用时,安装程序不会启动 Java和.NET安装程序(都是.exe)也有同样的问题 已尝试过 脚本在手动运行时工作 “所有人”、“匿名”、“域计算机”都可以访问安装程序文件共享 # 在系统完成关闭之前,安装程序可能尚未完成。是否使用-Wait参数
- 在关机时使用PowerShell脚本在所有域计算机上运行安装程序(.exe)
- 我正在成功使用GPO分配的其他关机脚本
- 脚本实际上正在运行-通过编写自定义日志文件进行验证
- 安装程序存储在网络共享上
- 从关闭脚本(如下)调用时,安装程序不会启动
- Java和.NET安装程序(都是.exe)也有同样的问题
- 脚本在手动运行时工作
- “所有人”、“匿名”、“域计算机”都可以访问安装程序文件共享
在系统完成关闭之前,安装程序可能尚未完成。是否使用-Wait参数尝试Start Process cmdlet
启动进程-文件路径“\\ad1dc01\deployment$\Microsoft\DotNet\452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe”-ArgumentList”/q/norestart”-等待
问题陈述是大而粗体的。。。不知道我还能做什么。谢谢你的提示。在进行此更改后,我的测试计算机正在可靠地安装/重新安装.NET framework。我在研究时发现了此链接。它详细介绍了在PowerShell中启动命令的所有选项。
$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
}