PowerShell consente ai programmatori di manipolare il sistema operativo di Windows dalla riga di comando. Con PowerShell, è possibile accedere oggetti dal framework .NET, nonché sistema di file della finestra. Uno script di PowerShell riutilizzabile è chiamato un "cmdlet". È possibile combinare i cmdlet per creare potenti script che è possibile condividere con altri utenti. Visual BASIC (VB) è un linguaggio di programmazione utilizzato in .NET framework che ti consente di chiamare script PowerShell dall'interno il codice gestito. Questo a sua volta consente di creare un'interfaccia utente attraente che gli utenti principianti possono utilizzare per eseguire i cmdlet sostituisce la riga di comando.
Istruzioni
1
Avviare Visual Studio. Aprire il progetto di Visual Basic che si desidera utilizzare per eseguire un cmdlet di PowerShell.
2
Pulsante destro del mouse sul nome del progetto dalla directory dei file in alto a destra dello schermo. Fare clic su "Aggiungi riferimento", quindi fare clic sul pulsante "Sfoglia". Fai clic su "Automation" e il pulsante "OK".
3
Fare doppio clic sul file VB che si desidera utilizzare per eseguire il cmdlet di PowerShell, quindi inserire il codice seguente nella parte superiore del file:
Imports System. Text
Imports System.IO
Importazioni System.Management.Automation
Le importazioni System.Collections.ObjectModel
Le importazioni System.Management.Automation.Runspaces
4
Creare un metodo per eseguire lo script di PowerShell:
Private Function ExecuteMyPowerShellScript(ByVal scriptText As String) As String
End Function
5
Creare un'istanza di un oggetto di PowerShell Runspace e aprirlo. Creare un oggetto pipeline di PowerShell ed eseguire il metodo "AddScript()", usando il testo dello script come argomento.
Dim RunspaceSample As Runspace = RunspaceFactory.CreateRunspace()
RunspaceSample.Open()
Dim PipelineSample As Pipeline = MyRunSpace.CreatePipeline()
PipelineSample.Commands.AddScript(scriptText)
6
Eseguire lo script di PowerShell e chiuderlo:
Dim risultati come Collection(Of PSObject) = PipelineSample.Invoke()
RunSpaceSample.Close()