我使用 mof / dsc 配置更新了服务器,本质上更改了各种权限/注册表项以确保安全合规性。这在某种程度上是自动生成的,我确实有一个配置的所有内容的列表,但它有点难以阅读并且不太清楚。
在此过程之后,powershell 无法更新新包或设置其默认存储库。
我不认为这是 NuGet 特有的东西,我的预感是它与某种更基本的文件权限有关。据我所知,NuGet 已安装在我的系统上,我知道它是在应用此配置之前安装的,并且我所知道的内容并未被删除。
我已经仔细检查了工作服务器,并且 NuGet .dll 上的权限看起来相同。
下面是一个错误示例:
PS C:\Windows\system32> Register-PSRepository -Default
PackageManagement\Import-PackageProvider : No match was found for the specified search criteria and provider name
'NuGet'. Try 'Get-PackageProvider -ListAvailable' to see if the provider exists on the system.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7302 char:25
+ ... $null = PackageManagement\Import-PackageProvider -Name $script:Nu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (NuGet:String) [Import-PackageProvider], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.ImportPackageProv
ider
NuGet provider is required to continue
PowerShellGet …Run Code Online (Sandbox Code Playgroud)