PowerShell Profiles

În acest tutorial vom vedea despre PowerShell Profiles și utilizarea lor. Profilurile PowerShell vă ajută să vă personalizați mediul și să adăugați elemente pentru fiecare sesiune PowerShell pe care o începeți. Profilul PowerShell este un script care se execută de fiecare dată când vom porni PowerShell. Aveți posibilitatea de a utiliza un profil PowerShell ca script de conectare pentru a personaliza mediul. Prin utilizarea unui profil PowerShell, puteți adăuga comenzi, alias-uri, funcții, variabile, snap-ins, module, PSDrives și orice alte elemente specifice sesiunilor din evnironmet. Nu va trebui să le importați sau să le recreați de fiecare dată când executați PowerShell. Acestea vor fi încărcate automat. PowerShell acceptă mai multe profiluri pentru utilizatori și programe gazdă. PowerShell nu creează niciun profil pentru dumneavoastră.

Dacă doriți comenzi, variabile, variabile de preferință, alias-uri, funcții, comenzi (cu excepția Set-ExecutionPolicy) și module PowerShell pe care le utilizați frecvent, puteți utiliza profiluri pentru a le încărca în toate sesiunile viitoare.

File de profil

Console PowerShell acceptă următoarele profiluri:

  • $Home\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 – Utilizator curent, gazdă curentă
  • $Home\Documents\PowerShell\Profile.ps1 – Utilizator curent, toate gazdele
  • $PsHome\Microsoft.PowerShell_profile.ps1 – Toți utilizatorii, gazda curentă
  • $PsHome\Profile.ps1 – Toți utilizatorii, toate gazdele

Profilele de mai sus sunt prezentate în ordine de precedență. Primul profil din listă are cea mai mare ordine de precedență. După cum puteți vedea în profilurile de mai sus, avem două variabile. Variabilele $PSHome și $Home prezintă următoarele valori:

  • $PSHome – Stochează directorul de instalare pentru PowerShell
  • $Home – Stochează directorul principal al utilizatorului curent

Alte programe care găzduiesc PowerShell își pot susține propriile profiluri. PowerShell Integrated Scripting Environment (ISE) suportă următoarele profiluri specifice gazdei.

  • $Home\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1 – Current user, Current Host
  • $PsHome\Microsoft.PowerShellISE_profile.ps1 – All users, Current Host

Potrivit Microsoft, în PowerShell Help, profilul „CurrentUser, Current Host” este profilul la care se face referire cel mai des ca fiind „profilul dumneavoastră PowerShell”.

Profile Variable

În PowerShell avem o variabilă automată numită $Profile. Toate căile de profil PowerShell care sunt disponibile în sesiunea curentă sunt stocate în variabila $Profile. Vizualizând variabila $Profile, veți vedea calea profilului.

Variabila $Profile stochează calea către profilul „Current User, Current Host”. Celelalte profiluri sunt salvate în proprietățile de notă ale variabilei $Profile.

Puteți specifica un profil utilizând proprietățile variabilei. În consola Windows PowerShell, avem următoarele valori în variabila $Profile.

  • $Profile – Current User, Current Host
  • $Profile.CurrentUserCurrentHost – Current User, Current Host
  • $Profile.CurrentUserAllHosts – Current User, All Hosts
  • $Profile.AllUsersCurrentHost – All Users, Current Host
  • $Profile.AllUsersAllHosts – All Users, All Hosts

Puteți utiliza variabila $Profile în comenzile dumneavoastră.

Cod:

Test-Path -Path $PROFILETest-Path -Path $PROFILE.CurrentUserCurrentHostTest-Path -Path $PROFILE.CurrentUserAllHostsTest-Path -Path $PROFILE.AllUsersCurrentHostTest-Path -Path $PROFILE.AllUsersAllHosts

Salire:

Comenzile de mai sus testează dacă profilul specificat a fost creat. După cum puteți vedea, răspunsul este fals la toate acestea. După cum ați menționat anterior, profilurile nu sunt create în mod implicit. Va trebui să le creați.

Create a profile

Pentru a crea un profil trebuie să folosiți următoarea comandă.

Cod:

New-Item -ItemType File -Path $profile -Force

Comanda de mai sus va crea un profil pentru „Current User, Current Host”.

Rețineți că comanda de mai sus va înlocui orice profil existent. Dacă doriți să vă asigurați că nu veți înlocui niciun profil care există deja și că nu veți pierde modificările pe care le-ați aplicat deja, puteți încerca comanda de mai jos.

Code:

if (-not (Test-Path -Path $profile.AllUsersAllHosts)){ New-Item -ItemType File -Path $profile.AllUsersAllHosts -Force}

Comanda de mai sus va verifica dacă există un profil pentru „All Users, All Hosts” și, dacă nu există, va crea profilul.

Pentru a crea un profil, va trebui să rulați consola PowerShell ca administrator. Acest lucru se aplică de la Windows Vista și versiunile ulterioare.

Editarea unui profil

Dacă un profil există și trebuie să aplicați unele modificări sau adăugiri, trebuie să utilizați un editor de text pentru a edita profilul. Folosind notepad este o modalitate ușoară de a edita profilul.

Cod:

notepad $profile

Cum puteți vedea mai jos, profilul meu actual este configurat pentru a furniza un mesaj de bun venit atunci când deschid consola.

Acum voi folosi comanda de mai sus pentru a aplica unele modificări profilului meu.

Mai jos sunt modificările pe care le-am aplicat.

Apoi, când am repornit consola PowerShell, după cum puteți vedea, modificările au fost aplicate.

Profile Guidelines

Mai jos voi oferi câteva îndrumări privind configurarea profilurilor, așa cum sunt furnizate de Microsoft.

Dacă folosiți mai multe aplicații gazdă, puneți elementele pe care le folosiți în toate aplicațiile gazdă în $Profile.CurrentUserAllHostsprofilul dvs. Puneți elementele care sunt specifice unei aplicații gazdă, cum ar fi o comandă care stabilește culoarea de fundal pentru o aplicație gazdă, într-un profil care este specific acelei aplicații gazdă.

Dacă sunteți un administrator care personalizează PowerShell pentru mai mulți utilizatori, urmați aceste orientări:

  • Stocați elementele comune în profilul $profile.AllUsersAllHosts
  • Stocați elementele care sunt specifice unei aplicații gazdă în profilurile $profile.AllUsersCurrentHost care sunt specifice aplicației gazdă
  • Stocați elementele pentru anumiți utilizatori în profilurile specifice utilizatorilor

Asigurați-vă că verificați documentația aplicației gazdă pentru orice implementare specială a profilurilor PowerShell.

Fără profil

Chiar dacă ați creat profiluri care să se încarce de fiecare dată când deschideți consola, vi se permite să rulați PowerShell fără ca vreun profil să fie încărcat. Puteți face acest lucru prin rularea PowerShell cu parametrul -NoProfile. Acest lucru se poate face din cmd.exe, caseta de dialog Run sau PowerShell însuși.

Cod:

PowerShell -NoProfile

Politica de execuție

Politica de execuție PowerShell determină dacă puteți rula scripturi și încărca fișiere de configurare, inclusiv profilurile. Politica de execuție „Restricted” este cea implicită. Puteți găsi mai multe informații despre politica de execuție PowerShell aici. Dacă utilizați politica „Restricted”, aceasta împiedică rularea tuturor scripturilor, inclusiv a profilurilor. Conținutul profilului nu se aplică. O comandă Set-ExecutionPolicy stabilește și modifică politica de execuție în toate sesiunile PowerShell, deoarece valoarea este salvată în registru. Nu trebuie să o setați atunci când deschideți consola sau să stocați o comandă Set-ExecutionPolicy în profilul dumneavoastră.

Profil pe sesiunea de la distanță

Profilele PowerShell nu se execută automat în sesiunile de la distanță, astfel încât comenzile pe care le adaugă profilurile nu sunt prezente în sesiunea de la distanță. În plus, variabila automată $Profile nu este populată în sesiunile la distanță.

Dacă dorim să executăm profilul de pe calculatorul nostru local, într-o sesiune la distanță, trebuie să folosim cmdlet Invoke-Command.

Exemplul de mai jos va rula profilul local către o sesiune la distanță.

Cod:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -FilePath $profile

Succes:

Acum profilul nu va fi populat în sesiunea la distanță, putem, de asemenea, să încărcăm profilul la distanță în sesiune. Verificați exemplul de mai jos.

Code:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -ScriptBlock {. "$env:USERPROFILE\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

Output:

Sper că tutorialul despre profilele PowerShell este util.

Vă rog să-mi comunicați comentariile și gândurile dumneavoastră.

Vă mulțumesc pentru feedback.

Legături conexe

  • Tutoriale PowerShell
  • Scripturi PowerShell
  • Despre profiluri | Microsoft Docs
  • Variabile automate PowerShell
  • Operatori logici PowerShell
  • Operatori logici PowerShell
  • Politica de execuție PowerShell
  • Test-Calea de acces – Microsoft Docs
  • Noile-Item – Microsoft Docs
  • Write-Output – Microsoft Docs
  • Set-ExecutionPolicy – Microsoft Docs
  • Invoke-Command – Microsoft Docs
Summary
Numele articolului
PowerShell Profiles
Description
PowerShell Profiles. În acest tutorial veți găsi informații despre PowerShell Profiles și utilizarea acestora. Stephanos Constantinou Blog
Autor
Stephanos
Nume editor
Stephanos Constantinou Blog
Logo editor

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.