【发布时间】:2016-11-30 18:54:40
【问题描述】:
我必须使用 PowerShell 安装 SQL Server Native 客户端。
当我使用下面的命令安装它时,它会出现一个用户帐户控制提示:
$arguments = "/i C:\Users\Subhayan\Desktop\sqlncli_32.msi ADDLOCAL=ALL /passive IACCEPTSQLNCLILICENSETERMS=YES"
start-process -FilePath msiexec -ArgumentList $arguments
所以我搜索了一些博客并想出了一个解决方案,我必须启用注册表项值:路径中的 AlwaysInstallElevated:HKLM:\SOFTWARE\Policies\Microsoft\Windows\Installer
这个键不存在,所以我创建了它并将值设置为 1 。安装正常进行。
但由于这是一个生产系统,我必须将其切换回原来的状态。所以我再次将注册表项值设为 0:
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Inst
aller
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
PSChildName : Installer
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
AlwaysInstallElevated : 0
但是当我尝试再次安装以测试该值是否已重置时,用户帐户控制提示不会回来。安装会静默进行。
有人可以帮我把这个带回来吗?
【问题讨论】:
-
将 -Credential $cred arg 传递给启动进程而不用担心注册表?
标签: powershell-2.0