我目前正在编写一个脚本,其中包含一些安装在WES 7设备上的程序卸载。我需要卸载的其中一个应用程序(VMware Horizon View Client)要求重新启动。如果这是脚本的一部分,它似乎接受默认按钮(是)并继续重启设备。因此脚本失败了。
我非常感谢您帮助我们如何防止重启。
仅供参考:此脚本通过管理工具发送,并在目标上以提升的方式运行。
这是我的剧本:
set-executionpolicy unrestricted
#############################################################
# Un-install unwanted applications
#############################################################
$application = Get-WMIObject Win32_Product -filter "Name='ThinPrint Client Windows 8.6'"
$application.Uninstall()
$application = Get-WMIObject Win32_Product -filter "Name='2X Client'"
$application.Uninstall()
$application = Get-WMIObject Win32_Product -filter "Name='Adobe Reader X (10.1.4)'"
$application.Uninstall()
$application = Get-WMIObject Win32_Product -filter "Name='VMware Horizon View Client'"
$application.Uninstall()
$application = Get-WMIObject Win32_Product -filter "Name='VERDE VDI User Tools'"
$application.Uninstall()
$application = Get-WMIObject Win32_Product -filter "Name='vWorkspace Connector for Windows'"
$application.Uninstall()
#############################################################
# Remove Internet Explorer Access
#############################################################
dism /online /norestart /Disable-Feature /FeatureName:Internet-Explorer-Optional-x86
#############################################################
# Remove IE Browser LNK from Taskbar
#############################################################
del "C:\Users\User\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\Launch Internet Explorer Browser.lnk"
#############################################################
# Make Citrix Receiver the shell
#############################################################
Push-Location
CD 'HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon'
New-Itemproperty -path .\ -name Shell -Type String -Value 'c:\program files\Citrix\Receiver\receiver.exe'
Pop-Location
set-executionpolicy restricted
# End of Script
我非常感谢如何在脚本中途停止重启。
答案 0 :(得分:10)
我强烈建议不要使用Win32_Product。每次调用Win32_Product时,它都会对每个安装进行软件一致性检查。这不仅会使事情变得非常缓慢,而且如果发现错误也可能触发软件修复。
http://gregramsey.net/2012/02/20/win32_product-is-evil/
而是进入注册表,只需调用卸载字符串。
http://support.microsoft.com/kb/247501
您可以使用msiexec的norestart标志来尝试阻止重新启动。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372024(v=vs.85).aspx