无法在脚本 Powershell 中安装包 NuGet

Can't install the package NuGet in a Script Powershell

我想在 Intune 中使用脚本 powershell 在多个设备中安装模块 Sqlserver。它在少数设备上不起作用,因为它要求安装包提供程序。所以我试着在我的脚本中添加这一步。

我创建了一个函数来查看软件包是否已安装,如果没有则获取它。它必须是强制的,而不是要求用户确认安装。这是我的功能:

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      
    }
}