簡體   English   中英

無法在腳本 Powershell 中安裝 package NuGet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM