我的服务器无法访问互联网,因此我有一个内部 PSRepository。我已下载当前的 SqlServer 模块 (21.1.18256) 并将其发布到我的内部存储库。我已在五台服务器上安装了它。在第六台服务器上,我得到了:
> Install-module -name SqlServer -Repository JLP -AllowClobber
PackageManagement\Install-Package : Access is denied
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1772 char:21
+ ... $null = PackageManagement\Install-Package @PSBoundParameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Exce
ption
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetChildItemCommand,Mic
rosoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
我以前从未见过这种情况并且不知道从哪里开始。
我以管理员身份运行 PowerShell (5.1)。版本如下:
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14393.4583
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.4583
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
更新
我的仓库中有旧版本:21.1.18121 和 21.0.17199。我尝试安装并收到“访问被拒绝”消息。然后我尝试使用 21.0.17199
Install-module -name SqlServer -Repository JLP -AllowClobber -RequiredVersion 21.0.17199
并且它成功了。
更新2
我已经下载了其他版本到我的仓库并尝试了它们。
21.0.17279 failed to install.
21.0.17262 failed to install.
21.0.17240 installed.
答案1
我会尝试这个:
Install-Module -Name SqlServer -Scope CurrentUser
来源: https://docs.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershell-7.1
如果它与您当前的登录兼容,那么请与某人谈谈获取更新本地机器模块文件夹的权限。