无法在脚本 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
}
}
我想在 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
}
}