PowerShell Ad Alanlarının Sırlarını Ortaya Çıkarmak: Hem Yeni Başlayanlar hem de Uzmanlar İçin Derinlemesine Bir Genel Bakış


Başlık: PowerShell Ad Alanlarına İlişkin Kapsamlı Bir Kılavuz: Uzmanlaşmanın 5 Temel Unsuru

PowerShell dünyası çok geniş ve güçlüdür; hem sistem yöneticilerine hem de geliştiricilere çok sayıda işlevsellik ve olanak sağlar. Ancak özellikle bu karmaşık alanda yolculuğuna yeni başlayanlar için biraz gizemli olabilir. Bugün PowerShell betiği oluşturmanın sıklıkla gözden kaçan yönüne derinlemesine dalacağız: _namespaces_. Bu nedenle, sizi bu temel kavrama dair yeni keşfedilmiş bir anlayışla baş başa bırakacak aydınlatıcı bir maceraya atılmaya hazır olun. Ama önce odadaki file değinelim: PowerShell ad alanı nedir ve bunu neden önemsemelisiniz?

# 1. PowerShell Ad Alanlarını Anlamak: Genel Bakış

PowerShell'de ad alanı, sınıflar, işlevler ve değişkenler gibi çeşitli nesne türlerini düzenlemek ve gruplandırmak için kullanılan mantıksal bir kapsayıcıdır. Bu ad alanları, her klasörün başka dosya veya klasörleri içerebildiği bir dosya sistemindeki klasörlerle karşılaştırılabilir. Ad alanlarını kullanmanın temel amacı, adlandırma çakışmalarını önlemek ve komut dosyalarınızda veya modüllerinizde net bir ayrım ve organizasyon oluşturmaktır. Uzmanlaşmanız gereken bazı önemli hususları tartışarak konuyu daha derinlemesine inceleyelim.

# 2. PowerShell Ad Alanlarını Tanımlama ve Kullanma

PowerShell'de bir ad alanını kullanabilmeniz için önce onu tanımlamanız gerekir. namespace anahtar sözcüğünü ve ardından küme parantezleri { içine alınmış istediğiniz ad alanı adını kullanarak bir ad alanı tanımlayabilirsiniz. Bu parantezlerin içine, ilgili ad alanına ait olmasını istediğiniz herhangi bir sınıf, işlev veya değişken tanımını yerleştirebilirsiniz. İşte bir örnek:

namespace MyNamespace {
class MyClass {
[string]$MyProperty
}
}

Başka bir ad alanındaki bir sınıfı, işlevi veya değişkeni kullanmak için nesnenin tam adını (FQN) kullanmanız gerekir. FQN, ad alanı adından, ardından :: operatöründen ve nesnenin adından oluşur. Örneğin:

$myObject = [MyNamespace::MyClass]::new()

# 3. Basitleştirilmiş Erişim için Ad Alanlarını Takma Adlandırma

Çok sayıda nesne içeren birden çok ad alanıyla çalışmak, komut dosyalarınızı veya modüllerinizi yazarken hızla hantal hale gelebilir. Bu sıkıntıyı hafifletmek için PowerShell, ad alanları için _aliases_ oluşturmanıza olanak tanır. Takma ad, bir ad alanına referans vermek için kullanabileceğiniz alternatif, daha kısa bir addır. using anahtar sözcüğünü, ardından namespace anahtar sözcüğünü, ad alanının FQN'sini ve istediğiniz takma adı kullanarak bir takma ad oluşturabilirsiniz. İşte bir örnek:

using namespace MyNamespace as MN
$myObject = [MN::MyClass]::new()

Takma adlar kullandığınızda, komut dosyanız daha okunabilir ve bakımı kolay hale gelir ve karmaşık projeler üzerinde çalışırken değerli zamanınızdan tasarruf etmenizi sağlar.

# 4. Modülleri ve Ad Alanlarını İçe Aktarma

Modüller PowerShell'de çok önemli bir rol oynar ve ilgili işlevleri yeniden kullanılabilir paketler halinde birleştirmenize olanak tanır. PowerShell sınıflarının ve ad alanlarının kullanıma sunulmasıyla birlikte bir modülün işlevleri, değişkenleri ve sınıfları farklı ad alanları altında gruplandırılabilir. Bir modülü içe aktardığınızda, onun yanında belirli ad alanlarını da seçmeli olarak içe aktarma seçeneğiniz vardır. Bu, using anahtar sözcüğü, ardından module anahtar sözcüğü ve içe aktarılacak modülün adı kullanılarak gerçekleştirilebilir:

using module MyModule
$myFunctionResult = MyModule::MyFunction()

Yukarıdaki örnekte MyModule modülünü içe aktarıyoruz ve ardından onun işlevlerinden birini FQN'si aracılığıyla referans vererek kullanıyoruz. Modül birden fazla ad alanı içeriyorsa, bunları aynı kullanarak sözdizimini kullanarak tek tek de içe aktarabilirsiniz:

using namespace MyModule::SubNamespace
$myFunctionResult = SubNamespace::MyFunction()

# 5. Ad Alanları ve .NET Framework Entegrasyonu

PowerShell, .NET Framework üzerine kurulmuştur; bu, .NET ekosisteminin tüm yeteneklerini devraldığı anlamına gelir. Sonuç olarak PowerShell, .NET sınıflarından, yöntemlerinden, özelliklerinden ve ad alanlarından yararlanabilir. PowerShell betiklerinizde veya modüllerinizde .NET sınıflarıyla çalışıyorsanız .NET ad alanlarının PowerShell ile nasıl ilişkili olduğunu anlamak önemlidir.

PowerShell'de bir .NET sınıfını kullanmak istediğinizde, ad alanı da dahil olmak üzere FQN'sini kullanmanız yeterlidir:

$myStringBuilder = [System.Text.StringBuilder]::new()

Bu örnekte, System.Text ad alanından StringBuilder sınıfının yeni bir örneğini oluşturuyoruz. PowerShell ad alanlarında olduğu gibi aynı takma ad yaklaşımını takip ederek .NET sınıflarıyla çalışmayı kolaylaştırabilirsiniz:

using namespace System.Text as ST
$myStringBuilder = [ST::StringBuilder]::new()

_Sonuç olarak, PowerShell'deki ad alanları kavramını anlamak ve bu kavramda uzmanlaşmak her PowerShell komut dosyası oluşturucusu, geliştiricisi ve yöneticisi için hayati öneme sahiptir. .NET ad alanlarını tanımlama, kullanma, takma ad verme, içe aktarma ve entegre etme konusundaki incelikleri kavrayarak, PowerShell projelerinizde yeni organizasyon, verimlilik ve sürdürülebilirlik alanlarının kilidini açacaksınız. Artık bu kılavuzun derinliklerine indiğinize göre, PowerShell ad alanlarının bir zamanlar gizemli dünyası artık korkutucu görünmemeli, parmaklarınızın ucunda güçlendirici bir araç seti gibi görünmeli._

Güzel Powershell

Yeni Başlayanlar İçin PowerShell Tam Kursu | PowerShell Başlangıç Eğitimi Tam Kurs

Bana PowerShell'e genel bir bakış sunabilir misiniz?

PowerShell, .NET çerçevesi üzerine oluşturulmuş güçlü bir komut satırı kabuğu ve komut dosyası dilidir. BT profesyonellerinin görevleri otomatikleştirmesine, yapılandırmaları yönetmesine ve Windows, Linux ve macOS dahil farklı platformlarda uzaktan yönetimi mümkün kılmasına yardımcı olmak için Microsoft tarafından geliştirilmiştir.

PowerShell'in en önemli özelliklerinden bazıları şunlardır:

1. Cmdlet'ler: Bunlar, belirli eylemleri gerçekleştiren ve verileri döndüren yerleşik komutlardır (ör. Get-Process, Stop-Service). Anlaşılması ve kullanılması kolay olacak şekilde tasarlanmıştır. Kullanıcılar ayrıca PowerShell betiğini kullanarak özel cmdlet'lerini de oluşturabilirler.

2. Ardışık düzen: Bu özellik, bir cmdlet'in çıktısını başka bir cmdlet'in girişi olarak zincirlemenize olanak tanıyarak, verileri daha verimli bir şekilde işlemenizi ve karmaşık işlemleri kolaylıkla gerçekleştirmenizi mümkün kılar.

3. Nesneler: Düz metinle ilgilenen geleneksel komut satırı kabuklarının aksine PowerShell nesnelerle çalışır. Bu, cmdlet'lerin çıktısının, kolayca değiştirilebilen ve farklı cmdlet'ler arasında aktarılabilen yapılandırılmış veriler olduğu anlamına gelir.

4. Komut Dosyası Oluşturma: PowerShell, güçlü bir komut dosyası dili kullanarak kullanıcıların görevleri otomatikleştirmek, yapılandırmaları yönetmek ve verileri işlemek için karmaşık komut dosyaları oluşturmasına olanak tanır. Komut dosyası dili değişkenleri, döngüleri, koşulları, hata işlemeyi ve daha fazlasını destekleyerek esnek ve sağlam bir otomasyon çözümü sağlar.

5. Genişletilebilirlik: PowerShell, yeni modüller içe aktarılarak veya özel modüller oluşturularak kolayca genişletilebilir. Bu, yeni cmdlet'ler eklemeyi veya ek teknolojiler ve hizmetlerle çalışmayı mümkün kılar.

6. Uzaktan Yönetim: Yöneticiler, PowerShell'i kullanarak sistemleri uzaktan yönetebilir, komutları yürütebilir ve aynı anda birden fazla makineden bilgi alabilir.

7. Topluluk: PowerShell, kullanıcıların öğrenmesine ve becerilerini geliştirmesine yardımcı olmak için öğreticiler, örnek komut dosyaları ve forumlar gibi birçok kaynak sağlayan aktif ve büyüyen bir topluluğa sahiptir.

Özetle, PowerShell komut satırı, BT profesyonellerinin görevleri otomatikleştirmesine, yapılandırmaları yönetmesine ve sistemleri uzaktan kolaylıkla yönetmesine yardımcı olan güçlü bir araçtır. Nesne yönelimli yapısı, komut dosyası oluşturma yetenekleri ve genişletilebilirliği, onu günümüz BT ortamında vazgeçilmez bir varlık haline getiriyor.

PowerShell kullanmanın temel amacı nedir?

PowerShell'i kullanmanın temel amacı, BT profesyonellerinin ve geliştiricilerin görevleri otomatikleştirmesine ve sistem yapılandırmalarını etkili bir şekilde yönetmesine olanak sağlamaktır. PowerShell, kullanıcıların Windows ortamında komutları yürütmesine, kaynaklara erişmesine ve nesneleri değiştirmesine olanak tanıyan güçlü bir kodlama dili ve komut satırı kabuğudur. Temel faydalarından bazıları şunlardır:

1. Tekrarlanan görevlerin otomasyonu: PowerShell, zaman alan ve hataya açık manuel görevleri otomatikleştirerek çok sayıda sistemin yönetimini basitleştirir.

2. Diğer teknolojilerle entegrasyon: PowerShell, çeşitli Microsoft ve üçüncü taraf teknolojileriyle etkileşime girerek, çeşitli ortamlarda sistemlerin yönetilmesini ve kontrol edilmesini kolaylaştırır.

3. Nesne yönelimli yaklaşım: Geleneksel komut satırı kabuklarından farklı olarak PowerShell, verileri temsil etmek için nesne yönelimli bir yaklaşım kullanarak komut dosyası oluşturma ve veri işlemenin esnekliğini ve kullanılabilirliğini artırır.

4. Genişletilebilirlik: Kullanıcılar, PowerShell'in işlevselliğini genişleten ve kendi özel ihtiyaçlarına yönelik güçlü bir araç seti sağlayan özel işlevler, modüller ve cmdlet'ler oluşturabilir.

5. Geliştirilmiş güvenlik: PowerShell, komut dosyalarının ve komutların güvenli ve kontrollü yürütülmesini sağlamaya yardımcı olmak için komut dosyası imzalama, yürütme politikaları ve rol tabanlı erişim denetimi gibi özellikler içerir.

PowerShell komut satırını kullanarak bir virüsü nasıl kaldırabilirim?

PowerShell komut satırını kullanarak bir virüsü kaldırmak için öncelikle etkilenen dosyanın konumunu veya virüsle ilişkili işlemi tanımlamanız gerekir. Virüs bulaşmış dosyayı belirledikten sonra aşağıdaki adımlara devam edebilirsiniz:

Not: Bu adımları uygulamadan önce, sisteminizde güncel bir virüsten koruma programının yüklü olduğundan emin olun ve bu programın kötü amaçlı yazılım veya virüs içermediğinden emin olmak için tam bir sistem taraması yapmanızı öneririm.

1. PowerShell'i Yönetici olarak açın:
Windows + X tuşlarına basın ve görüntülenen menüden Windows PowerShell (Yönetici) seçeneğini seçin. Bu, PowerShell'i yönetici ayrıcalıklarıyla açacaktır.

2. Bulaşmış işlemi sonlandırın (varsa):
Virüsle ilişkili etkin bir işlem varsa, devam etmeden önce onu sonlandırmanız gerekir. Bunu işlem kimliğini bularak ve Stop-Process cmdlet'ini kullanarak yapabilirsiniz. Örneğin:

Get-Process -Name “InfectedProcessName” | Stop-Process

InfectedProcessName değerini, etkilenen işlemin gerçek adıyla değiştirin.

3. Etkilenen dosyayı silin:
Etkilenen dosyayı silmek için Remove-Item cmdlet'ini kullanın. Örneğin:

Remove-Item -Path “C:PathtoInfectedFile.exe” -Force

C:PathtoInfectedFile.exe dosyasını virüslü dosyanın gerçek yolu ile değiştirin.

4. Etkilenen kayıt defteri anahtarlarını onarın veya kaldırın (varsa):
Virüsler bazen kayıt defteri anahtarlarını oluşturabilir veya değiştirebilir; bu anahtarların onarılması veya kaldırılması gerekebilir. Bunu gerçekleştirmek için Get-Item ve Remove-Item cmdlet'lerini kullanabilirsiniz. Örneğin:

# Check if the registry key exists
$registryKey = “HKLM:SOFTWAREInfectedKey”
if (Test-Path $registryKey) {
# Remove the infected registry key
Remove-Item -Path $registryKey -Force
}

HKLM:SOFTWAREInfectedKey'i virüsle ilişkili gerçek kayıt defteri anahtarıyla değiştirin.

5. Sisteminizi yeniden başlatın:
Bu adımları tamamladıktan sonra, virüsle ilgili devam eden işlemlerin veya hizmetlerin artık etkin olmadığından emin olmak için sisteminizi yeniden başlatmanız önerilir.

Bir virüsü kaldırmak için PowerShell kullanmanın manuel bir işlem olduğunu ve virüsün doğası ve etkisi konusunda sağlam bir anlayış gerektirdiğini unutmayın. Sisteminizi virüslerden ve kötü amaçlı yazılımlardan korumak için her zaman güncel ve gerçek zamanlı bir antivirüs yazılımı kullanmanız önerilir.

PowerShell neden potansiyel bir tehdit oluşturuyor?

Güçlü ve çok yönlü bir betik dili olan PowerShell, sistem yöneticileri ve geliştiriciler tarafından Windows ortamlarındaki görevleri otomatikleştirmek ve yönetmek için yaygın olarak kullanılmaktadır. Ancak yetenekleri ve erişim düzeyi nedeniyle potansiyel bir tehdit de oluşturmaktadır. Bu tehdidin arkasındaki nedenlerden bazıları şunlardır:

Kötü Amaçlı Yazılım ve Açıklardan Yararlanmaların Yürütülmesi: PowerShell'in komut dosyası oluşturma yapısı, saldırganların hedef sistemlerde tespit edilmeden kötü amaçlı komut dosyalarını veya yükleri yürütmesini kolaylaştırır. Bu saldırganlar, PowerShell komut satırını kullanarak karmaşık saldırılar gerçekleştirebilir ve bir ağ içinde yanal olarak hareket ederek geleneksel güvenlik önlemlerinden kaçabilir.

Gizleme Teknikleri: PowerShell, saldırganların gizleme tekniklerini kullanmasına olanak tanıyarak kötü amaçlı etkinliklerin tespitini ve analizini karmaşık hale getirir. Bu teknikler, komutları kodlamayı ve şifrelemeyi, meşru PowerShell kullanımına uyum sağlamayı, Base64 dizeleri içinde kodu gizlemeyi ve hatta bir komut dosyasının gerçek amacını gizlemek için cmdlet'leri kötüye kullanmayı içerebilir.

Güvenlik Önlemlerini Atlamak: PowerShell, saldırganların antivirüs yazılımı, güvenlik duvarları ve izinsiz giriş tespit sistemleri gibi güvenlik önlemlerini atlaması için birden fazla yol sunar. Örneğin, PowerShell komut satırı komut dosyaları, sabit sürücüde hiçbir iz bırakmadan bellekte yürütülebilir veya kötü amaçlı komutları çalıştırmak için güvenilir işlemleri kullanabilir, bu da güvenlik araçlarının bunları tehdit olarak tanımlamasını zorlaştırır.

PowerShell Uzaktan İletişim: PowerShell'in diğer bilgisayarlarda veya sunucularda uzaktan yönetim görevlerini gerçekleştirme yeteneği, saldırganlar tarafından kötüye kullanılabilir. Saldırgan, güvenliği ihlal edilmiş bir sistemin kontrolünü ele geçirdiğinde, ağdaki diğer cihazlara fark edilmeden erişmek ve bunları yönetmek için PowerShell uzaktan iletişimini kullanabilir.

Bu riskleri azaltmak için kuruluşların PowerShell kullanımını izleme, hassas bilgilere ve kritik sistemlere erişimi kısıtlama, uygulama beyaz listesini uygulama ve yama yönetimiyle güncel kalma gibi güçlü güvenlik uygulamalarını benimsemesi gerekir. Ayrıca PowerShell komut dosyası bloğu günlüğü tutma, Kısıtlanmış Dil Modu ve Yeterince Yönetim (JEA) gibi gelişmiş güvenlik önlemlerinin kullanılması potansiyel tehdidi daha da sınırlayabilir.

PowerShell ad alanı nedir ve komut satırı arayüzünde cmdlet'lerin ve modüllerin düzenlenmesine nasıl yardımcı olur?

PowerShell ad alanı, komut satırı arayüzündeki ilgili cmdlet'leri, modülleri ve diğer öğeleri düzenlemek ve gruplandırmak için kullanılan mantıksal bir kapsayıcıdır. Ad alanları, adlandırma çakışmalarını önlemeye yardımcı olur ve bir komut dosyası veya modüldeki belirli bileşenleri bulmayı ve kullanmayı kolaylaştırır.

PowerShell'de ad alanları, dosya sistemlerinde klasörlerin düzenlenme şekline benzer şekilde, her hiyerarşik düzeyi ayıran noktalarla ('.') temsil edilir. Örneğin, Microsoft.PowerShell.Management Ad Alanı, süreçleri, hizmetleri ve olay günlüklerini yönetme gibi yönetim görevleriyle ilgili cmdlet'leri içerir.

Cmdlet'ler, PowerShell'in yapı taşlarıdır ve kullanıcıların çeşitli eylemleri gerçekleştirmesine ve görevleri otomatikleştirmesine olanak tanır. Cmdlet'leri ad alanları içinde düzenleyerek, belirli amaçlar için uygun komutları bulmak ve kullanmak daha kolay hale gelir.

Modüller, PowerShell'in yeteneklerini genişletmek için genellikle üçüncü taraf geliştiriciler veya BT uzmanları tarafından oluşturulan, birden çok ilgili cmdlet ve işlevi içeren paketlerdir. Ad alanları, modüllerin iyi organize edilmesine ve komut satırı arayüzünde kolayca keşfedilmesine yardımcı olur.

Özetle, PowerShell ad alanı, komut satırı arayüzünde cmdlet'leri ve modülleri organize etmek ve gruplandırmak için yapılandırılmış bir yol sağlayarak kullanıcıların işini kolaylaştırır. Görevleri için ihtiyaç duydukları araçları bulma ve kullanma.

PowerShell komut satırında özel ad alanlarının nasıl oluşturulacağı ve yönetileceğine ilişkin adım adım genel bir bakış sunabilir misiniz?

PowerShell komut satırında özel ad alanları oluşturma ve yönetme, PowerShell Modülleri kullanılarak yapılır. Modül, cmdlet'ler, sağlayıcılar, işlevler, iş akışları, değişkenler ve takma adlar gibi PowerShell üyelerini içeren bir pakettir.

PowerShell komut satırında özel ad alanlarının nasıl oluşturulacağına ve yönetileceğine ilişkin adım adım genel bakış:

1. Modülünüz için yeni bir klasör oluşturun: Özel bir ad alanı oluşturmak için ilk adım, modül dosyalarınızı tutacak bir klasör oluşturmaktır. Klasörü istediğiniz ad alanına göre adlandırın; örneğin MyCustomNamespace.

2. Bir modül bildirim dosyası oluşturun: Yeni oluşturulan klasörün (MyCustomNamespace) içinde '.psd1' uzantılı yeni bir dosya oluşturun (ör. MyCustomNamespace.psd1). Bu dosyaya modül bildirimi adı verilir ve sürüm, yazar, gerekli modüller ve dışa aktarılan üyeler gibi modülle ilgili meta verileri içerir.

3. Modül bildirim özelliklerini tanımlayın: Bildirim dosyasını (MyCustomNamespace.psd1) bir düzenleyicide açın ve modülünüzün özelliklerini tanımlayın. Aşağıda minimal modül bildiriminin bir örneği verilmiştir:

@{
ModuleVersion = ‘1.0’
Author = ‘YourName’
Description = ‘A custom PowerShell namespace module’
RootModule = ‘MyCustomNamespace.psm1’
}
“`
Replace ‘YourName’ with your name and create the ‘RootModule’ file (MyCustomNamespace.psm1) in the next step.
4. Create the root module script file: Inside the same folder, create the root module script file mentioned in the manifest (in this example, MyCustomNamespace.psm1). This file will contain your custom cmdlets, functions, variables, aliases, and other PowerShell members.
5. Add your custom members: Open the root module script file (MyCustomNamespace.psm1) in an editor and start adding your custom cmdlets, functions, variables, aliases, etc. For example:
“`powershell
function Get-HelloWorld {
Write-Output “Hello, World!”
}
Export-ModuleMember -Function Get-HelloWorld

6. Özel modülünüzü yükleyin: Özel modülünüzü PowerShell'de kullanmak için önce onu yüklemeniz gerekir. Varsayılan olarak PowerShell, $env:PSModulePath ortam değişkeninde listelenen klasörlerdeki modülleri arar. Yeni modülünüzü yüklemek için modül klasörünüzü (MyCustomNamespace) bu klasörlerden birine kopyalayın, örneğin C:UsersYourUsernameDocumentsWindowsPowerShellModules.

7. Özel modülünüzü içe aktarın: Yeni bir PowerShell oturumu açın ve Import-Module cmdlet'ini kullanarak modülünüzü içe aktarın:

Import-Module MyCustomNamespace

8. Özel üyelerinizi kullanın: Modülü içe aktardıktan sonra artık modülünüz tarafından sağlanan özel üyeleri kullanabilirsiniz (ör. Get-HelloWorld işlevi):

Get-HelloWorld

9. Özel modülünüzü güncelleyin: Özel modülünüzde değişiklik yaparsanız Remove-Module cmdlet'ini kullanarak onu PowerShell oturumundan kaldırmanız ve ardından yeniden yüklemeniz gerekebilir. -Import-Module cmdlet'iyle içe aktarın:

Remove-Module MyCustomNamespace
Import-Module MyCustomNamespace

Bu adımlarla, modülleri kullanarak PowerShell komut satırında özel ad alanları oluşturabilir ve yönetebilirsiniz.

Yaygın PowerShell ad alanlarına ve bunların komut satırı ortamındaki komut dosyası oluşturma ve otomasyon görevlerinde kullanımına ilişkin bazı örnekler nelerdir?

PowerShell'de ad alanları, çeşitli işlevler sağlayan farklı sınıfları ve işlevleri düzenlemek için kullanılır. Adlandırma çakışmalarını önlemeye ve cmdlet'lerin ve komut dosyalarının kullanımını basitleştirmeye yardımcı olurlar. Bazı yaygın PowerShell ad alanları ve kullanımları şunları içerir:

1. Sistem: Bu ad alanı, yaygın olarak kullanılan veri türlerini, olayları ve istisnaları tanımlayan temel sınıfları içerir. Örneğin, System.IO giriş/çıkış işlemleriyle ilgilenirken, System.Text metin manipülasyonunu yönetir.

Kullanımı:

$filePath = “C:example.txt”
$fileContent = [System.IO.File]::ReadAllText($filePath)

2. System.Net: HTTP veya FTP üzerinden e-posta gönderme ve dosya indirme dahil, uygulamalar arasında ağ tabanlı iletişim için sınıflar içerir.

Kullanımı:

# Downloading a file from a URL
$url = “https://example.com/file.txt”
$destination = “C:DownloadedFile.txt”
[System.Net.WebClient]::new().DownloadFile($url, $destination)

3. System.Management.Automation: Bu ad alanı PowerShell'e özeldir ve PowerShell cmdlet'leri, sağlayıcıları ve komut dosyalarıyla çalışan çok çeşitli sınıflar ve işlevler sağlar.

Kullanımı:

# Creating a custom PowerShell function
function Get-MyFunction {
[CmdletBinding()]
[OutputType([int])]
Param(
[Parameter(Mandatory=$true)][int]$a,
[Parameter(Mandatory=$true)][int]$b
)
return $a + $b
}

4. Microsoft.Win32: Windows kayıt defteri ile ilgili işlemlere erişim sağlar.

Kullanımı :

# Reading a registry value
$regKey = “HKCU:SoftwareMicrosoftWindowsCurrentVersionRun”
$valueName = “ExampleAppName”
$regValue = (Get-ItemProperty -Path $regKey -Name $valueName).$valueName

5. System.Security.Cryptography: Bu ad alanı, karma oluşturma, şifreleme ve dijital imza oluşturma gibi çeşitli şifreleme işlemlerine yönelik sınıfları içerir.

Kullanımı :

# Hashing a string with SHA256
$stringToHash = “Hello, World!”
$hasher = [System.Security.Cryptography.SHA256]::Create()
$hashedBytes = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($stringToHash))
$hashString = [System.BitConverter]::ToString($hashedBytes)

Bunlar, komut satırı ortamında komut dosyası oluşturma ve otomasyon görevlerine yardımcı olmak için PowerShell'de bulunan birçok ad alanından yalnızca birkaç örnektir.

İlgili makaleler