Execution

Now that we have access to a gallery and a general understanding of how PowerShellGet and PackageManagement work, we can begin adding new scripts and modules to the gallery and use them in different contexts such as JEA sessions. As a normal user, publishing to the gallery requires the target repository as well as an API key.

In addition to that, the system you are coming from needs the NuGet libraries as well as the NuGet executable to make full use of both PackageManagement and PowerShellGet. The following code can be used to bootstrap the files from a machine connected to the internet. However, it might be easier to just use Install-PackageProvider and use the paths from the code block to locate all of the necessary binaries:

# Bootstrapping the PowerShellGet NuGet provider for offline systems
# nuget.exe is necessary to use Publish-Module and nuget pack

# Systemwide
$PSGetProgramDataPath = Join-Path -Path $env:ProgramData -ChildPath 'MicrosoftWindowsPowerShellPowerShellGet'

# CurrentUser
$PSGetAppLocalPath = Join-Path -Path $env:LOCALAPPDATA -ChildPath 'MicrosoftWindowsPowerShellPowerShellGet'

if (-not $PSGetProgramDataPath)
{
[void] (New-Item -ItemType Directory -Path $PSGetProgramDataPath -Force)
}

if (-not $PSGetAppLocalPath)
{
[void] (New-Item -ItemType Directory -Path $PSGetAppLocalPath -Force)
}

Invoke-WebRequest https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile (Join-Path $PSGetAppLocalPath nuget.exe)

# Bootstrapping the NuGet dll for the PackageManagement module
# Systemwide
$assemblyPath = 'C:Program FilesPackageManagementProviderAssemblies uget2.8.5.208'

# Current user
$assemblyPath = Join-Path $env:LOCALAPPDATA 'PackageManagementProviderAssemblies uget2.8.5.208'


[void] (New-Item -ItemType Directory -Path $assemblyPath -Force)
Invoke-WebRequest https://oneget.org/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll -OutFile "$assemblyPathMicrosoft.PackageManagement.NuGetProvider.dll"
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.111.85