VB net ile powershell kullanımı

Yönetici
Developer
Kurucu
Katılım
27 Mar 2025
Mesajlar
21
VB.NET içinde PowerShell kullanmak, çeşitli senaryolar için faydalı olabilir, özellikle sistem yönetimi ve otomasyon konularında. VB.NET uygulamanızdan PowerShell komutlarını çalıştırmak için System.Management.Automation ad alanını kullanabilirsiniz. Bu ad alanı, PowerShell komutlarını doğrudan .NET uygulamanızdan çalıştırmanıza olanak tanır.

Aşağıda, VB.NET içerisinde PowerShell kullanmanın basit bir örneğini bulabilirsiniz:

Örnek: VB.NET ile PowerShell Komutu Çalıştırma​

  1. Proje Ayarları:
    • Yeni bir VB.NET projesi oluşturun (örneğin bir Windows Forms veya Konsol uygulaması).
    • Projenize System.Management.Automation kütüphanesini ekleyin. Bunu NuGet ile yapabilirsiniz. NuGet Paketi: System.Management.Automation.
  2. Kod Yazımı:
    Aşağıdaki örnek, bir PowerShell komutunu VB.NET uygulamanızdan çalıştırır ve sonucunu alır


C#:
Imports System.Management.Automation
Imports System.Management.Automation.Runspaces

Module Module1
    Sub Main()
        ' PowerShell oturumu oluştur
        Using runspace As Runspace = RunspaceFactory.CreateRunspace()
            runspace.Open()

            ' PowerShell komutu oluştur
            Using pipeline As Pipeline = runspace.CreatePipeline()
                ' Örnek bir PowerShell komutu
                pipeline.Commands.AddScript("Get-Process")
                
                ' Komutu çalıştır ve sonuçları al
                Dim results As Collection(Of PSObject) = pipeline.Invoke()

                ' Sonuçları yazdır
                For Each result As PSObject In results
                    Console.WriteLine(result)
                Next
            End Using

            runspace.Close()
        End Using

        ' Kullanıcıdan bir tuşa basmasını bekle
        Console.WriteLine("Çıkmak için bir tuşa basın...")
        Console.ReadKey()
    End Sub
End Module

Açıklama:​

  • RunspaceFactory.CreateRunspace(): Bir PowerShell oturumu oluşturur.
  • runspace.CreatePipeline(): PowerShell komutlarını çalıştırmak için bir pipeline oluşturur.
  • Commands.AddScript("Get-Process"): Çalıştırılacak PowerShell komutunu ekler. Bu örnekte Get-Process komutunu ekliyoruz.
  • pipeline.Invoke(): Komutu çalıştırır ve sonuçları döner.
  • Sonuçlar PSObject koleksiyonu olarak elde edilir ve konsola yazdırılır.

Uygulama Önerileri:​

  • Daha karmaşık PowerShell komutları ve script dosyaları çalıştırmak için AddScript() metodunu kullanarak daha fazla PowerShell komutu ekleyebilirsiniz.
  • Sorunları yönetmek ve hata ayıklamak için pipeline.Error koleksiyonunu da kontrol edebilirsiniz.
Bu örnek, VB.NET uygulamanızdan PowerShell komutları çalıştırmanın temelini sağlar. İhtiyacınıza göre daha fazla özelleştirme yapabilirsiniz.
 
Üst