Abilita supporto PSGallery

Immagine

Aggiunta di moduli PowerShell | Supporto PSGallery a WinPE

Grazie a David Segura per averlo capito 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:SystemDrive\Windows\system32\config\systemprofile\AppData\Local")

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 = 1GetP2Tenv! { $PowerShellGetURL = "https://psg-prod-eastus.azureedge.net/packages/powershellget.2.2.5.nupkg" Invoke-WebRequest -UseBasicParsing -Uri $PowerShellGetURL -OutFile "$WorkingDirpowershellget" 12.TP22.5.zip -Item -Path "$WorkingDir2.2.5" -ItemType Directory -Force Expand-Archive -Path "$WorkingDirpowershellget.2.2.5.zip" -DestinationPath "$WorkingDir2.2.5" $Null = New-Item -Path "$envllGemmaFiles" -PowerShell:ProgramFiles -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir2.2.5" -Destination "$env:ProgramFilesWindowsPowerShellModulesPowerShellGet2.2.5" } #PackageManagement dall'URL di PSGallery se (!(Get-Module -Name PackageManagement)){ $PackageManagementURL = "https://psg-prod-eastus.azureedge.net/packages/packagemanagement.1.4.7.nupkg" Invoke-WebRequest -UseBasicParsing -Uri $PackageManagementURL -OutFileManagementURL $WorkingDirpackagemanagement.1.4.7.zip" $Null = New-Item -Path "$WorkingDir1.4.7" -ItemType Directory -Force Expand-Archive -Path "$WorkingDirpackagemanagement.1.4.7.zip" -DestinationPath "$4.7"TP2TWorkingDir Item -Path "$env:ProgramFilesWindowsPowerShellModulesPackageManagement" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir1.4.7" -Destination "$env:ProgramFilesWindowsPowerShellModulesTpGetpPackageManagement1.3TupModulesPowerTPagePackageManagement13ledullModulesTpGetpGetpModule di importazione 1.4.7" } $WorkingDir1.4.7" -Destination "PS2Tenv:ProgramName -Force -AcceptLicense -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

In questo metodo, hai già scaricato i file del modulo nupkg e inseriti in un pacchetto. È essenzialmente la stessa cosa, ma attinge 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 ( [stringa]$ModuleName ) #Setup LOCALAPPDATA Variabile [System.Environment]::SetEnvironmentVariable('LOCALAPPDATA',"$env:SystemDriveWindowssystem32configsystemprofileAppDataLocal") $WorkingDir if (PowerShe-Tenv-Get) -{PowerSheTP3Tenv:TEMP $env:SystemDriveWindowssystem32configsystemprofileAppDataLocal") Item "$PSScriptRootpowershellget.2.2.5.nupkg" -Destination "$WorkingDirpowershellget.2.2.5.zip" Expand-Archive -Path "$WorkingDirpowershellget.2.2.5.zip" -DestinationPath "$WorkingDir2.2.5" $Nemull = New- $env:ProgramFilesWindowsPowerShellModulesPowerShellGet" -ItemType Directory -ErrorAction SilentlyContinue Move-Item -Path "$WorkingDir2.2.5" -Destination "$env:ProgramFilesWindowsPowerShellModulesPowerShellGet2.2.5"{Copy.TP3Tenv Package" (Pacchetto. 1.4.7.nupkg" -Destination "$WorkingDirpackagemanagement.1.4.7.zip" Expand-Archive -Path "$WorkingDirpackagemanagement.1.4. 7 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

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:

Condividi questo:

Supporto

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

Contatti

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