[英]Can't install nuget package because of “Failed to initialize the PowerShell host”
[英]Can't install the package NuGet in a Script Powershell
我想通過在 Intune 中使用腳本 powershell 在多個設備中安裝模塊 Sqlserver。 它在少數設備上不起作用,因為它要求安裝包提供程序。 所以我試圖在我的腳本中添加這一步。
我創建了一個 function 來查看 package 是否已經安裝,如果沒有安裝它。 它必須是強制的,而不是要求用戶確認安裝。 這是我的 function:
function Install-PackageProvider(
[string] [Parameter(Mandatory = $true)] $ModuleName
)
{
If(Get-PackageProvider| Where-Object {$_.Name -eq $ModuleName})
{
$Info = "The Package-Provider is already installed"
Write-Host $Info
}
else
{
Write-Host "We need to install the package provider. We start now"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
}
}
不幸的是,它不適用於少數設備,並且我收到此錯誤消息,它無法識別與“名稱”對應的參數。 我嘗試了我在互聯網上看到的幾件事。
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 ...
~~~~~
任何人都有一個想法,可以幫助我。 英語不是我的母語,希望我沒有犯太多錯誤
謝謝
我會嘗試以下。 它似乎對我有用
function Install-PackageProvider(
[string] [Parameter(Mandatory = $true)] $ModuleName
)
{ If(Get-PackageProvider| Where-Object {$_.Name -eq $ModuleName})
{
$Info = "The Package-Provider is already installed"
Write-Host $Info
}
else
{
Write-Host "We need to install the package provider. We start now"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
PackageManagement\Install-PackageProvider -Name $ModuleName -Force
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.