Abilita supporto PSGallery

<img style="”float:" right;” src="”https://www.recastsoftware.com/wp-content/uploads/2021/10/Recast-Logo-Dark_Horizontal.svg”" alt="&quot;Immagine&quot;" height="”43″" width="”150″">

Aggiunta di moduli PowerShell | Supporto PSGallery a WinPE

Grazie a David Segura per averlo scoperto e aver creato un modulo per aggiornare il tuo WinPE WIM, link in fondo alla pagina. Se stai usando il suo processo, non avrai bisogno di niente di tutto questo. 🙂

Qui tratteremo l'aggiunta di questa capacità senza modificare l'immagine di avvio e l'abilitazione di PSGallery durante WinPE in una sequenza di attività. Questo coprirà due diversi metodi per abilitare PSGallery

Requisiti di base

  • Aggiungi variabile d'ambiente LOCALAPPDATA
  • Aggiungi moduli: PowerShellGet e PackageManagement

Aggiunta della variabile LOCALAPPDATA

Usando questo metodo, la variabile dura solo la sessione in cui è stata creata, quindi dovresti eseguirla in ogni script che vuoi chiamare PSGallery

[System.Environment]::SetEnvironmentVariable('LOCALAPPDATA',"$env:SystemDriveWindowssystem32configsystemprofileAppDataLocal")

Estrarre i requisiti da Internet

Con questo processo, abbiamo un singolo script PowerShell che scaricherà i moduli richiesti da Internet e li installerà.

Ho preso gli URL dei file nupkg dei moduli che volevo dal Galleria PowerShell, quindi utilizzando Invoke-WebRequest, li scarico, li estraggo e li metto al loro posto.

Per un passaggio, dai un'occhiata a questo Post sul blog


param ( [string]$ModuleName ) #Setup LOCALAPPDATA Variabile [System.Environment]::SetEnvironmentVariable('LOCALAPPDATA',"$env:SystemDriveWindowssystem32configsystemprofileAppDataLocal") $WorkingDir = $env:TEMP #HeShellGet from PSGallery URL if (!(Get-Module)) -Name PowerShell { $PowerShellGetURL = "https://psg-prod-eastus.azureedge.net/packages/powershellget.2.2.5.nupkg" Invoke-WebRequest -UseBasicParsing -Uri $PowerShellGetURL -OutFile "$WorkingDirpowershellget.2.2.5.zip" $Null = Nuovo -Item -Percorso "$WorkingDir2.2.5" -ItemType Directory -Forza espansione-archivio -Percorso "$WorkingDirpowershellget.2.2.5.zip" -DestinationPath "$WorkingDir2.2.5" $Null = New-Item -Percorso "$env:ProgramFilesWindowsPowerShellModulesPowerShellGet" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir2.2.5" -Destination "$env:ProgramFilesWindowsPowerShellModulesPowerShellGet2.2.5" } #PackageManagement from PSGallery URL if (!(Get-Module -Name PackageManagement)){ $PackageManagementURL = "https://psg-prod-eastus.azureedge.net/packages/packagemanagement.1.4.7.nupkg" Invoke-WebRequest -UseBasicParsing -Uri $PackageManagementURL -OutFile " $WorkingDirpackagemanagement.1.4.7.zip" $Null = New-Item -Percorso "$WorkingDir1.4.7" -ItemType Directory -Forza espansione-archivio -Percorso "$WorkingDirpackagemanagement.1.4.7.zip" -DestinationPath "$WorkingDir1.4.7" $Null = New- Item -Percorso "$env:ProgramFilesWindowsPowerShellModulesPackageManagement" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Percorso "$WorkingDir1.4.7" -Destination "$env:ProgramFilesWindowsPowerShellModulesPackageManagement1.4.7" } #Import PowerShellGet Import-Module PowerShellGet #Install Module -Forza -AccettaLicense -SkipPublisherCheck Import-Module -Name $ModuleName -Force

Ora lo script sfrutta un parametro per passargli il nome di un modulo che desideri installare.

PSGallery

Estrazione dei requisiti dal pacchetto ConfigMgr

Con questo metodo, hai già scaricato i file nupkg del modulo e li hai inseriti in un pacchetto. È essenzialmente la stessa cosa, ma estrae dai tuoi server e ti dà il pieno controllo.

Lo script è molto simile, ma è conservato nel pacchetto con la fonte e copia la fonte dal pacchetto invece che da Internet.

Script disponibile anche su GitHub

param ( [string]$ModuleName ) #Setup LOCALAPPDATA Variabile [System.Environment]::SetEnvironmentVariable('LOCALAPPDATA',"$env:SystemDriveWindowssystem32configsystemprofileAppDataLocal") $WorkingDir = $env:TEMP #HeShellGet if (!(Get-Module -Name-PowerShellGet)){ Elemento "$PSScriptRootpowershellget.2.2.5.nupkg" -Destination "$WorkingDirpowershellget.2.2.5.zip" Expand-Archive -Path "$WorkingDirpowershellget.2.2.5.zip" -DestinationPath "$WorkingDir2.2.5" $Null = New-Item -Path " $env:ProgramFilesWindowsPowerShellModulesPowerShellGet" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir2.2.5" -Destination "$env:ProgramFilesWindowsPowerShellModulesPowerShellGet2.2.5" } #PackageManagement if (!(Get-Module -Name PackageManagement"){ Copy-Item 1.4.7.nupkg" -Destinazione "$WorkingDirpackagemanagement.1.4.7.zip" Expand-Archivio -Percorso "$WorkingDirpackagemanagement.1.4. 7.zip" -DestinationPath "$WorkingDir1.4.7" $Null = New-Item -Path "$env:ProgramFilesWindowsPowerShellModulesPackageManagement" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir1.4.7" -Destination "$env:ProgramFilesWindowsPowerShell4.4"Package WindowsPowerShell.4.TIm}WindowsPowerShellModulesport Package PowerShellGet Import-Module PowerShellGet #Install Module from PSGallery Install-Module -Name $ModuleName -Force -AcceptLicense -SkipPublisherCheck Import-Module -Name $ModuleName -Force

PSGallery
PSGallery

In azione – Video di YouTube

Per vedere una demo dell'esecuzione di questi script, guarda questo video di YouTube:
PSGallery

Super semplice

David Segura ha fatto tutto il duro lavoro per te e, se vuoi sfruttare i suoi script online, puoi trasformarlo in un semplice passaggio con una riga di comando che configurerà PS Gallery per te, insieme ad aggiungere il suo modulo OSD e pochi altri oggetti eleganti.

powershell.exe -executionpolicy bypass -comando "Invoke-Expression (Invoke-RestMethod 'sandbox.osdcloud.com')"

PSGallery

Consiglio vivamente di provarlo, ho spostato i miei processi OSD di laboratorio sull'utilizzo di quello.

Link della comunità

Circa Recast Software
1 organizzazione su 3 che utilizza Microsoft Configuration Manager si affida a Right Click Tools per far emergere le vulnerabilità e rimediare più rapidamente che mai.
Scarica strumenti gratuiti
Richiedi prezzi

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Inviando questo modulo, comprendi che Recast Software può elaborare i tuoi dati come descritto nel Recast Software politica sulla riservatezza.

it_ITItalian