Nyilatkozat használata a PowerShellben

Nyilatkozat Hasznalata A Powershellben



A PowerShell egy robusztus parancssori shell és szkriptnyelv, amelyet leginkább számítógépes rendszerek vezérlésére és adminisztratív feladatok automatizálására használnak. Az állítások használata a PowerShell egyik legfontosabb alapvetése. Különösen a „ segítségével ” utasítás döntő szerepet játszik az erőforrások kezelésében és a hatékony kódvégrehajtás biztosításában.

Ez a cikk a PowerShell „using” utasításának különböző aspektusait vizsgálja, beleértve a szintaxisát, célját és gyakorlati alkalmazásait.







A nyilatkozat „használatának” célja

A „using” utasítással megadhatja, hogy mely névtereket használja a munkamenet. Névterek hozzáadásával osztályokat importálhat parancsfájl-modulokból és összeállításokból, és leegyszerűsítheti a .NET osztályok és tagok használatát.



A nyilatkozat „használatának” KÖTELEZETTSÉGE

  • A „using” utasításnak minden más parancsfájl- vagy modulutasítás előtt kell megjelennie. Nem előzheti meg semmilyen megjegyzés nélküli utasítás, beleértve a paramétereket is.
  • A „using” utasításban semmilyen változó nem szerepelhet.
  • A „using” utasítást nem szabad összetéveszteni a változók „using:” hatókör módosítójával. Mindkettőnek más a célja és jelentése.

A „használó” utasítás szintaxisa



A „using” utasítás szintaxisa a következő:





névtér használatával < .NET-névtér >

Tekintsük át a következő példát:



névtér használatával System.IO

$Bájt = [ Fájl ] ::ReadAllBytes ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::új ( 'D:\c sharp\Linuxhint1.txt' )

A fenti kódban először a „System.IO” névteret jelöltük ki. A program második sora, a [File]::ReadAllBytes(‘D:c sharpLinuxhint1.txt’), minden bájtot beolvas a mellékelt fájlból, és a $Bytes változóba helyezi. A harmadik sorban a [FileInfo]::new('D:c sharpLinuxhint1.txt') létrehozza a FileInfo osztály új példányát, és visszaadja a FileInfo objektumot.

Modulok „használata” utasítás

A „using” utasítást is használhatjuk egy modul osztályainak betöltésére.

Szintaxis

modul segítségével < modulnév >

Ebben a szintaxisban a „”, egy teljes modulspecifikáció vagy egy modulfájl elérési útja használható a „modulnév” értékeként.

Használhat teljes képzésű vagy relatív elérési utat, ha a „modulnév>” egy elérési út. Ha egy „using” utasítás szerepel egy szkriptben, egy relatív elérési út kerül feloldásra a szkriptben.

A PowerShell a mellékelt modult keresi a PSModulePath útvonalon, ha a „” egy név vagy modulspecifikáció. A következő kulcsok alkotják a hashtablet, amely egy modulspecifikáció:

Modulnév – Kötelező. Megnevezi a kérdéses modult.

Opcionális GUID – megadja a modul GUID-jét.

Ezenkívül meg kell adnia az alábbiakban felsorolt ​​három kulcs egyikét.

ModulVersion – A modul minimálisan megengedett verziója a „ModuleVersion” tulajdonságon keresztül van megadva.

MaximumVersion – Meghatározza a modul legmagasabb megengedett verzióját.

RequiredVersion – Meghatározza a modul pontos, szükséges verzióját a „RequiredVersion” segítségével. A többi verziókulcs ezzel nem használható.

A bináris modul vagy szkriptmodul gyökérmodulját (ModuleToProcess) a „using” moduldeklaráció importálja. A modulba pontforrásból származó beágyazott modulokban vagy parancsfájlokban megadott osztályok importálása nem megbízható. Minden olyan osztályt, amelyet a modulon kívüli felhasználók számára elérhetővé szeretne tenni, a gyökérmodulban kell megadni.

Íme egy példa:

a PSReadline modul használatával

Nyilatkozat „használata” az összeszereléshez

A „using” utasítás használható a típusok előzetes betöltésére is .NET-összeállításból.

Szintaxis

összeszerelés segítségével < .NET-assembly-path >

Ebben a szintaxisban egy összeállítás betöltésekor az összeállításból származó .NET-típusok előre betöltődnek a szkriptbe az elemzés előtt. Ennek eredményeként új PowerShell-osztályok fejleszthetők, amelyek az előre betöltött összeállítástípusokat használják.

Nézzünk egy példát a „using” utasítás „assembly”-vel történő alkalmazására:

a System.Windows.Forms összeállítás használatával

Ebben a parancsban betöltöttük az 'összeállítást' System.Windows.Forms” a PowerShellben a „using” utasítás használatával.

„using” utasítás a Hashtable Keys számára

' Hash táblázatok A PowerShellben különféle célokra használható adaptálható adatszerkezetek, beleértve a konfigurációs adatok tárolását, a parancsmagok argumentumainak biztosítását és az adatok szkriptekben való tárolását.

A kriptográfiai hash a karakterlánchoz LinuxTipp! ” a következő szkripten keresztül érhető el:

névteret használva System.Text
névtér használatával System.IO [ húr ] $string = 'LinuxHint!'
[ húr ] $algoritmus = 'SHA1'

[ byte [ ] ] $stringbyte = [ UnicodeEncoding ] ::Unicode.GetBytes ( $string )

[ Folyam ] $memorystream = [ MemoryStream ] ::új ( $stringbyte )
$hash fromstream = Get-FileHash -InputStream $memorystream `
-Algoritmus $algoritmus
$hash fromstream .Hash.ToString ( )

A fenti PowerShell-kód a fájlműveletekhez és a kódoláshoz szükséges névterek importálásával kezdődik. A bemeneti karakterlánc és a kivonatolási algoritmus (ebben az esetben ' SHA1 ”), akkor meghatározzuk. A bemeneti karakterlánc ezután a „ Unicode ” bájttömb létrehozásához.

A bájttömb tartalmát ezután egy „ memóriafolyam ”. A memóriafolyamból származó hash értékét a mellékelt „SHA1” algoritmus segítségével a „ Get-FileHash ” parancsmag. A szkript úgy fejeződik be, hogy a kapott hash értéket karakterláncként nyomtatja a kimenetre.

Kimenet

Következtetés

A ' segítségével ” utasítás a PowerShellben egy hatékony eszköz névterek, modulok vagy összeállítások megadására. Szintaxisa és célja szabványos és biztonságos megközelítést biztosít az erőforrások kezelésére, megkönnyíti a megfelelő selejtezést és csökkenti a kódduplikációt.