PowerShell permet aux programmeurs de manipuler le système d'exploitation Windows à partir de la ligne de commande. Avec PowerShell, vous pouvez accéder à des objets du framework .NET ainsi que le système de fichiers de la fenêtre. Un script PowerShell réutilisable est appelé "applet." Vous pouvez combiner les applets de commande pour créer des scripts puissants que vous pouvez partager avec d'autres utilisateurs. Visual Basic (VB) est un langage de programmation utilisé dans le cadre de .NET qui vous permet d'appeler des scripts PowerShell à partir de son code managé. Cela vous permet de créer une interface utilisateur attrayante que les utilisateurs débutants peuvent utiliser pour exécuter des applets de commande au lieu de la ligne de commande.
Démarrez Visual Studio. Ouvrez le projet de VB que vous souhaitez utiliser pour exécuter un applet de commande PowerShell.
droit; cliquez sur le nom de votre projet à partir du répertoire de fichiers sur le coin supérieur droit de votre écran. Cliquer sur "Ajouter une référence," puis cliquez sur le "Feuilleter" bouton. Cliquer sur "System.Management.Automation.dll" et le "OK" bouton.
Double-cliquez sur le fichier VB vous souhaitez utiliser pour exécuter l'applet de commande PowerShell, puis placez le code suivant en haut du fichier:
Importations System.Text
Imports System.IO
Importations System.Management.Automation
Importations System.Collections.ObjectModel
Importations System.Management.Automation.Runspaces
Créez une méthode pour exécuter le script PowerShell:
Private Function ExecuteMyPowerShellScript (ByVal scriptText As String) As String
End Function
Instancier un objet PowerShell runspace et l'ouvrir. Créer un objet de pipeline de PowerShell et exécuter son "AddScript ()" méthode, en utilisant le texte du script comme argument.
Dim RunspaceSample Comme runspace = RunspaceFactory.CreateRunspace ()RunspaceSample.Open ()
Dim PipelineSample Comme Pipeline = MyRunSpace.CreatePipeline ()
PipelineSample.Commands.AddScript (scriptText)
Exécuter le script PowerShell et fermez-le:
Dim résultats tant Collection (Of PSObject) = PipelineSample.Invoke ()
RunSpaceSample.Close ()