- Keskkonnamuutujad kohandavad ja kontrollivad käitumist PowerShell ja operatsioonisüsteem.
- PowerShellis on keskkonnamuutujate loomiseks, loetlemiseks, muutmiseks või kustutamiseks mitu meetodit ja ulatust.
- Keskkonnamuutujatega õigesti töötamine parandab skriptide automatiseerimist, turvalisust ja kaasaskantavust.

The Keskkonnamuutujad PowerShellis on saanud oluliseks tööriistaks nii süsteemiadministraatoritele kui ka arendajatele. Nõuetekohane haldus võimaldab teil kohandada operatsioonisüsteemi ja erinevate rakenduste käitumist, hõlbustades automatiseerimist, integratsioone ja meeskonnatööd. PowerShell, olles konsool käsud Väga võimas ja paindlik, see pakub meile mitmesuguseid viise keskkonnamuutujatele juurdepääsuks, muutmiseks ja säilitamiseks nii konkreetsete seansside jaoks kui ka jäädavalt.
Selle konsooli maksimaalseks ärakasutamiseks on oluline mõista, kuidas need muutujad PowerShellis töötavad, kuidas neid operatsioonisüsteemist olenevalt hallatakse ning millised on nende loetlemise, loomise või muutmise kõige tõhusamad meetodid. Järgmisena süveneme PowerShellis keskkonnamuutujate manipuleerimise kõikidesse olulistesse aspektidesse, alates põhiteooriast kuni edasijõudnute näideteni, integreerides kõik ekspertide ja kogukondade koostatud parimad tavad ja olulised näpunäited, samuti ametliku dokumentatsiooni.
Mis on keskkonnamuutujad ja milleks neid PowerShellis kasutatakse?
Keskkonnamuutujad Need on võtme-väärtuse paarid, mis salvestavad nii operatsioonisüsteemi kui ka töötavate rakenduste poolt kasutatavat teavet. Need võimaldavad teil mõjutada programmide käitumist, hõlbustada protsesside vahelist suhtlust ja salvestada püsivaid konfiguratsioone (nt teed, eelistused, volitused jne). Kontekstis PowerShellNeed muutujad pakuvad tohutut paindlikkust skriptide kohandamiseks, ülesannete automatiseerimiseks ja selle tagamiseks, et protsessid pärivad konsoolist käivitamisel sobiva keskkonna.
Näiteks muutuja PATH Sisaldab kataloogide loendit, mida süsteem käivitatavate failide leidmiseks kontrollib. Nii saate käivitada mis tahes programmi ilma selle täielikku teed sisestamata, kui selle kaust on selles muutujas olemas. Muud levinud keskkonnamuutujad hõlmavad järgmist TEMP, KASUTAJATUNNUSE o ESILEHT (süsteemides Unix) ja PowerShellis on ka spetsiifilisi muutujaid, mis on eriti kasulikud, näiteks PSModulPath, POWERSHELL_TELEMETRY_LOOBUMISE ja paljud teised.
Nende muutujate tõhus haldamine See võimaldab kohandada keskkondi erinevatele kasutajatele, projektidele või isegi konkreetsetele arendus- ja tootmisfaasidele, mis on väga väärtuslik nii väikestes meeskondades kui ka suurtes IT-infrastruktuurides.
Keskkonnamuutujate kasutamise eelised PowerShellis
Kasutama Keskkonnamuutujad PowerShellis Sellel on palju eeliseid, eriti olukordades, kus skriptide automatiseerimine ja kaasaskantavus on võtmetähtsusega. Tähtsündmused:
- Paindlikkus: Need võimaldavad teil muuta käitumist ilma koodi muutmata, kohandades skripte ja programme erinevatele kontekstidele.
- Turvalisus: El ladustamine Tundlike andmete, näiteks võtmete või tokenite, kasutamine keskkonnamuutujates väldib nende paljastamist lähtekoodis.
- Püsivus: Väärtusi on võimalik seansside vahel säilitada või isegi salvestada püsivaid muutujaid kõigile süsteemi kasutajatele.
- Protsessi pärimine: Lapsprotsessid saavad keskkonnamuutujaid pärida oma vanemalt, mis on keerukate ülesannete orkestreerimiseks hädavajalik.
Seetõttu on nende muutujate korrektne haldamine oluline oskus igale PowerShelliga töötavale spetsialistile keskkondades. Windows, Linux või macOS.
Keskkonnamuutujate ulatused PowerShellis
En PowerShell, keskkonnamuutujad eksisteerivad mitmes ulatused või tasemed, mis määravad nende nähtavuse ja püsivuse:
- Protsessi ulatus: See mõjutab ainult praegust PowerShelli seanssi või protsessi. Kui seanss on suletud, kaovad muutujad.
- Kasutaja ulatus: Muutujad salvestatakse kasutaja jaoks, kes need defineerib, ja on saadaval kõigis tema seanssides, kuid ei mõjuta teisi kasutajaid.
- Masina (süsteemi) ulatus: Need on määratletud kõigi operatsioonisüsteemi kasutajate ja protsesside jaoks, maksimaalse püsivuse ja ulatusega.
Muutujate muutmine kasutaja ja masina tasandil nõuab vastavaid õigusi ning need muudatused kajastuvad sageli Windowsi registris või konfiguratsioonifailides, olenevalt operatsioonisüsteemist.
Kuidas PowerShellis keskkonnamuutujaid loetleda ja päringuid esitada
Saadaval olevate keskkonnamuutujate päringute tegemiseks on mitu võimalust. PowerShell See pakub kiireid ja tõhusaid meetodeid nii täieliku loendi saamiseks kui ka konkreetsete muutujate otsimiseks:
- Täielik nimekiri: Peamine käsk on Get-ChildItem keskkond:, mis kuvab kõik keskkonnamuutujad ja nende vastavad väärtused praeguses seansis. Tema varjunimed, näiteks gci keskkond:, dir Env: y ls keskkond:, nad toimivad samamoodi.
- Individuaalne konsultatsioon: Konkreetse muutuja väärtuse vaatamiseks kasutatakse süntaksit $Env:MuutujaNimi. Näiteks $Env:PATH kuvab PATH muutuja väärtuse.
- Filtreeri tulemused: Saate kombineerida Get-ChildItem keskkond: koos Kus-objekt et otsida muutujaid, mille nimi või väärtus vastab antud kriteeriumile.
Võrreldes klassikaga cmd, kus käsku kasutatakse komplekt, PowerShelli valikud on palju võimsamad, võimaldades teil väljundit hõlpsalt kohandada ja manipuleerida.
Keskkonnamuutujate loomine ja muutmine PowerShellis
Keskkonnamuutujate loomine või muutmine PowerShellis on äärmiselt lihtne. Sõltuvalt sellest, millist ulatust soovite muutujale anda, on mitu võimalikku meetodit:
Otsemeetod $Env-ga:
Kiireim ja sagedamini kasutatav viis on väärtuse määramine otse konsoolis:
$Env:MiVariable = "ValorEjemplo"
Muudatus kehtib ainult praeguse seansi jooksul. Kui konsooli sulgete, siis muutuja kaob.
Keskkonnapakkuja cmdlettide kasutamine
El keskkonnapakkuja PowerShell võimaldab teil käsitleda muutujaid nii, nagu oleksid need failid või failisüsteemi elemendid:
- Loo uus muutuja:
New-Item -Path Env:\MiVariable -Value 'ValorEjemplo' - Muuda väärtust:
Set-Item -Path Env:\MiVariable -Value 'NuevoValor' - Muutuja ümbernimetamine:
Rename-Item -Path Env:MiVariable -NewName NuevoNombre
Need cmdlet-käsud mõjutavad ainult praegust seanssi, välja arvatud juhul, kui kasutatakse püsivaid ajutisi lahendusi, mida arutame hiljem.
.NET-põhised meetodid
PowerShell võimaldab kasutada .NET-klasse ja -meetodeid. Keskkonnamuutujate puhul kasutatakse tavaliselt klassi Süsteemi.keskkond. Muutujate püsivaks määratlemiseks või muutmiseks kasutage:
::SetEnvironmentVariable('MiVariable', 'ValorEjemplo', 'User')
Kolmas parameeter näitab ulatust: Protsess, Kasutaja o Masin. See võimaldab muutujaid kasutaja või süsteemi jaoks püsivalt määrata.
Keskkonnamuutujate kustutamine PowerShellis
Keskkonnamuutuja kustutamine on sama lihtne kui selle loomine. Sõltuvalt kasutatavast meetodist saab seda teha mitmel viisil:
- Tühja väärtuse või $null määramine:
$Env:MiVariable = ''o$Env:MiVariable = $null. Teid eemaldatakse praegusest seansist. - Eemalda üksus:
Remove-Item -Path Env:\MiVariable. Kustutab muutuja seansist. - .NET-iga:
::SetEnvironmentVariable('MiVariable', '', 'User'). Eemaldab Windowsis kasutajamuutuja.
Süsteemimuutujaid ei tohiks kustutada ega üle kirjutada teadmata, millist mõju need avaldavad, kuna mõned neist on operatsioonisüsteemi või installitud programmide nõuetekohaseks toimimiseks hädavajalikud.
Täiustatud haldus: püsivus ja profiilid
On palju olukordi, kus on kasulik, et keskkonnamuutuja oleks pidevalt saadaval, isegi pärast arvuti taaskäivitamist või uute seansside avamist. Selleks on teil operatsioonisüsteemist ja eesmärgist olenevalt erinevad alternatiivid:
PowerShelli profiili muutmine
El PowerShelli profiil on käsikiri mis käivitub iga kord, kui konsooli avate. Keskkonnamuutujate määratlemiseks saate lisada ridu, et need oleksid alati saadaval.
# Ver ruta del perfil
echo $PROFILE
# Si no existe, créalo
new-item -path $PROFILE -ItemType File -Force
# Añade al perfil la declaración para persistir variables
$perfilContenido = @"
$Env:MiVariable = "Valor persistente"
"@
$perfilContenido | Add-Content -Path $PROFILE
See tagab, et muutuja on selle kasutaja jaoks saadaval iga uue PowerShelli seansi ajal.
Funktsiooni SetEnvironmentVariable() kasutamine ulatusega
koos ::KeskkonnaMuutujaMäära Saate luua kasutaja- või süsteemiüleseid muutujaid, mis jäävad alles ka pärast konsooli sulgemist või Windowsi taaskäivitamist. Lisaks käsitletakse selles juhendis mõningaid PowerShellis keskkonnamuutujate haldamisega seotud aspekte. GPO-de haldamine PowerShellis.
::SetEnvironmentVariable('MiVariable', 'Valor', 'User')
::SetEnvironmentVariable('MiVariable', 'Valor', 'Machine')
Esimene käsk salvestab selle ainult kasutaja jaoks, teine kõigile. Eemaldamine toimub samamoodi nagu varem, määrates tühja stringi.
Keskkonnamuutujad PowerShellis: praktilised näited ja erimuutujad
Lisaks traditsioonilistele muutujatele PowerShell Sellel on oma muutujad, mis võimaldavad teil konsooli keskkonda veelgi kohandada. Mõned kõige olulisemad neist on:
- POWERSHELL_TELEMETRY_LOOBUMISE: Võimaldab keelata telemeetriaandmete saatmise Microsoftile.
- POWERSHELL_DISTRIBUTION_CHANNEL: Annab teada, kuidas PowerShelli eksemplar installiti (käsitsi muutmine pole soovitatav).
- POWERSHELL_UPDATECHECK: Juhib värskendusteadete käitumist.
- PSExecutionPolicyPreference: Peegeldab praeguse seansi skripti täitmispoliitikat (ainult Windowsi puhul).
- PSModulPath: Kaustade loend, kust PowerShell otsib mooduleid ja ressursse.
- PSModuleAnalysisCachePath: Moodulite ja cmdlettide vahemälufaili tee, mis on kasulik otsingute ja importimise kiirendamiseks.
- PSDableModuleAnalysisCacheCleanup: Võimaldab keelata mooduli vahemälu automaatse tühjendamise.
Nende muutujate õige konfigureerimine aitab optimeerida teie PowerShelli keskkondade jõudlust, turvalisust ja juhtimist.
PATH, PATHEXT ja standardmuutujad Windowsis ja teistes süsteemides
Kõigi keskkonnamuutujate hulgas PATH on ilmselt kõige asjakohasem. Salvestab kataloogid, mida süsteem skannib, kui käivitate käsu ilma täieliku teeta. Sisse Windows, kataloogid on eraldatud semikoolonitega ;, Unixi süsteemides olles : kataloogide eraldajana.
Teine huvitav muutuja on PATHEXT, mis määrab, milliseid laiendusi peetakse käivitatavateks, võimaldades seega erinevate keelte skripte käivitada lihtsalt nende nime kutsudes.
Muudes süsteemides peale Windowsi on tavaline leida standardseid XDG muutujaid (näiteks XDG_CONFIG_HOME, XDG_DATA_HOME o XDG_CACHE_HOME), mille PowerShell samuti ära tunneb, kui see nendel platvormidel töötab, järgides süsteemi standardeid.
Kuidas töötada keskkonnamuutujatega Linuxis ja macOS-is PowerShelli abil
PowerShell See on platvormideülene, seega saate samu põhitehnikaid kasutada Unixi-põhistes süsteemides. Kuid selleks, et muutujad püsiksid ka pärast PowerShelli seanssi, peate neid vastavates initsialiseerimisfailides muutma. Näiteks:
- /etc/keskkond: Globaalne fail Linuxis, kus saab määrata püsivad muutujad kõigile kasutajatele.
- /etc/profile.d/: Kaust, kuhu saab paigutada skripte, mis määravad muutujaid shelli seansi käivitamisel.
- ~/.bashrc või ~/.zshrc: Kasutaja- ja shellipõhised failid, kuhu saab eksportida sisselogimisel laaditavaid muutujaid.
Pea meeles, et muutujate globaalse efekti saavutamiseks on vaja administraatori õigusi ning seansi või süsteemi taaskäivitamine.
Kirglik kirjanik baitide maailmast ja üldse tehnoloogiast. Mulle meeldib jagada oma teadmisi kirjutamise kaudu ja just seda ma selles ajaveebis teengi, näitan teile kõike kõige huvitavamat vidinate, tarkvara, riistvara, tehnoloogiliste suundumuste ja muu kohta. Minu eesmärk on aidata teil digimaailmas lihtsal ja meelelahutuslikul viisil navigeerida.
