PowerShell'de Bildirimi Kullanma

Powershell De Bildirimi Kullanma



PowerShell, çoğunlukla bilgisayar sistemlerini kontrol etmek ve idari işleri otomatikleştirmek için kullanılan sağlam bir komut satırı kabuğu ve betik dilidir. İfadelerin kullanımı, en önemli PowerShell temellerinden biridir. özellikle, “ kullanarak ” ifadesi, kaynakların yönetilmesinde ve verimli kod yürütülmesinin sağlanmasında çok önemli bir rol oynar.

Bu makale, sözdizimi, amacı ve pratik uygulamaları dahil olmak üzere PowerShell'deki 'kullanma' ifadesinin çeşitli yönlerini keşfedecektir.







“Kullanma” İfadesinin Amacı

'Using' ifadesi, oturumda hangi ad alanlarının kullanılacağını belirlemenizi sağlar. Ad alanları ekleyerek, betik modüllerinden ve derlemelerden sınıfları içe aktarabilir ve .NET sınıflarının ve üyelerinin kullanımını basitleştirebilirsiniz.



“Kullanma” İfadesinin ZORUNLULUKLARI

  • 'Using' ifadesi, diğer herhangi bir komut dosyası veya modül ifadesinden önce görünmelidir. Parametreler de dahil olmak üzere herhangi bir yorum yapılmamış deyimden önce gelemez.
  • 'Using' ifadesinde herhangi bir değişken bulunmamalıdır.
  • 'Using' ifadesi, değişkenler için 'using:' kapsam değiştiricisi ile karıştırılmamalıdır. Her ikisi de amaç ve anlam bakımından farklıdır.

'kullanma' ifadesinin sözdizimi



'Using' ifadesinin sözdizimi şöyledir:





ad boşluğu kullanma < .NET ad alanı >

Aşağıdaki örneği gözden geçirelim:



System.IO ad alanını kullanarak

$bayt = [ Dosya ] ::ReadAllBytes ( 'D:\c keskin\Linuxhint1.txt' )
[ DosyaBilgisi ] ::yeni ( 'D:\c keskin\Linuxhint1.txt' )

Yukarıdaki kodda, önce ad alanını “System.IO” olarak belirledik. Programın ikinci satırı [File]::ReadAllBytes('D:c sharpLinuxhint1.txt'), sağlanan dosyadaki her baytı okur ve bunları $Bytes değişkenine yerleştirir. Üçüncü satırda [FileInfo]::new('D:c sharpLinuxhint1.txt'), FileInfo sınıfının yeni bir örneğini oluşturur ve FileInfo nesnesini döndürür.

Modüller için “kullanma” Beyanı

Bir modülün sınıflarını yüklemek için “using” ifadesini de kullanabiliriz.

Sözdizimi

modülü kullanma < Modül Adı >

Bu sözdiziminde, 'modül adı' değeri olarak '', tam bir modül belirtimi veya bir modül dosyası yolu kullanılabilir.

'Modül-adı>' bir yol olduğunda, tam nitelikli veya göreli bir yol kullanabilirsiniz. Bir betikte 'using' ifadesi mevcut olduğunda, o betikte göreli bir yol çözümlenir.

'' bir ad veya modül özelliği olduğunda, PowerShell sağlanan modülü PSModulePath içinde arar. Aşağıdaki anahtarlar, bir modül özelliği olan karma tabloyu oluşturur:

Modül Adı - Gerekli. Söz konusu modülü adlandırır.

İsteğe bağlı GUID – modülün GUID'sini belirtir.

Ek olarak, aşağıda listelenen üç anahtardan birini belirtmeniz gerekir.

Modül Sürümü – Modülün izin verilen minimum sürümü, 'ModuleVersion' özelliği aracılığıyla belirtilir.

Maksimum Sürüm – Modülün izin verilen en yüksek sürümünü tanımlar.

Gerekli Sürüm – 'RequiredVersion' kullanarak modülün kesin, gerekli sürümünü belirler. Diğer Sürüm anahtarları bununla kullanılamaz.

Bir ikili modülün veya komut dosyası modülünün kök modülü (ModuleToProcess), 'using' modül bildirimi tarafından içe aktarılır. Yuvalanmış modüllerde belirtilen sınıflar veya modüle nokta kaynaklı betikler güvenilir bir şekilde içe aktarılmaz. Modül dışındaki kullanıcılara açık olmasını istediğiniz sınıflar, kök modülde belirtilmelidir.

İşte bir örnek:

PSReadline modülünü kullanarak

Montaj için “kullanma” Bildirimi

'Using' ifadesi, türleri bir .NET derlemesinden önceden yüklemek için de kullanılabilir.

Sözdizimi

montaj kullanarak < .NET derleme yolu >

Bu sözdiziminde, bir derleme yüklendiğinde, bu derlemedeki .NET türleri, komut dosyası ayrıştırılmadan önce önceden yüklenir. Sonuç olarak, önceden yüklenmiş derleme türlerinden yararlanan yeni PowerShell sınıfları geliştirmek mümkündür.

'Using' ifadesini bir 'assembly' ile uygulama örneğine bakın:

derleme System.Windows.Forms kullanarak

Bu komutta, “montajı yükledik” System.Windows.Forms” PowerShell'de 'kullanma' ifadesini kullanarak.

Hashtable Keys için “kullanma” ifadesi

Hash Tabloları Yapılandırma verilerini depolamak, cmdlet'lere bağımsız değişkenler sağlamak ve verileri betiklerde depolamak dahil olmak üzere çeşitli amaçlar için PowerShell'de kullanılan uyarlanabilir veri yapılarıdır.

“ dizesi için kriptografik karma Linuxİpucu! ”, aşağıdaki komut dosyası aracılığıyla elde edilir:

System.Text ad alanını kullanarak
System.IO ad alanını kullanarak [ sicim ] $dize = 'Linuxİpucu!'
[ sicim ] $algoritma = 'SHA1'

[ bayt [ ] ] $stringbayt = [ UnicodeKodlama ] ::Unicode.GetBytes ( $dize )

[ Aktarım ] $bellek akışı = [ Bellek Akışı ] ::yeni ( $stringbayt )
$hashfromstream = Get-FileHash -Giriş Akışı $bellek akışı `
-Algoritma $algoritma
$hashfromstream .Hash.ToString ( )

Yukarıdaki PowerShell kodu, dosya işlemleri ve kodlama için gereken ad alanlarını içe aktararak başlar. Giriş dizisi ve karma algoritma (bu durumda ' SHA1 ”), daha sonra tanımlanır. Giriş dizisi daha sonra “ kullanılarak kodlanır. Unicode ” bir bayt dizisi oluşturmak için.

Bayt dizisinin içeriği daha sonra bir “oluşturmak için kullanılır. bellek akışı ”. Bellek akışından elde edilen hash değeri, sağlanan 'SHA1' algoritması kullanılarak ' tarafından hesaplanır. Get-FileHash ” cmdlet'i. Komut dosyası, elde edilen hash değerini bir dizi olarak çıktıya yazdırarak sona erer.

Çıktı

Çözüm

kullanarak PowerShell'deki ” ifadesi, ad alanlarını, modülleri veya derlemeleri belirtmek için güçlü bir araçtır. Sözdizimi ve amacı, kaynakları işlemek, uygun şekilde atmayı kolaylaştırmak ve kod tekrarını azaltmak için standart ve güvenli bir yaklaşım sağlar.