Share via


Erstellen eines Skripts aus VMM-Assistenten und Eigenschaftenseiten

 

Betrifft: System Center 2012 R2 Virtual Machine Manager, System Center 2012 - Virtual Machine Manager

Um Ihnen beim Einstieg helfen beim Schreiben von Skripts in System Center 2012 – Virtual Machine Manager können Sie ein Skript generieren, beim Ausführen von einem Assistenten oder Update-Eigenschaften in der VMM-Konsole. Können Sie die Skript anzeigen Schaltfläche auf der Zusammenfassung Seite jedes Assistenten der VMM-Konsole oder Eigenschaften Seite, um den Satz von Cmdlets anzuzeigen, die ausgeführt werden, wenn Sie auf Fertig stellen am Ende eines Assistenten oder OK beim Aktualisieren der Eigenschaften. Sie können diese Befehle nach Bedarf ändern und speichern Sie die Datei mit einer ps1-Erweiterung, die es als ein Windows PowerShell-Skript identifiziert.

Das generierte Skript geändert

Am häufigsten generierten Skripts verwenden Sie den ID-Parameter des Cmdlets, um bestimmte Objekte zu identifizieren, auf denen sie Aktionen. Da diese ID für dieses Objekt handelt, möchten Sie möglicherweise können Ihr Skript Parameter, oder verwenden Sie eine Get -Cmdlet zum Abrufen eines Objekts, um das Skript für die Verwendung mit anderen Objekten verfügbar zu machen.

Hinzufügen eines Get-Cmdlets ein Skript generiert

Wenn Sie einen Eigenschaftswert ändern, verwendet das generierte Skript ID zum Abrufen des Objekts zu ändern. Z. B. wird das folgende Skript generiert, wenn Sie den Namen und die Beschreibung für ein logisches Netzwerk ändern:

$logicalNetwork = Get-SCLogicalNetwork -ID "7a858ed4-b8d2-4ac8-9dbe-6e6a4388c1e7"
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork -RunAsynchronously

Um dieses Skript in zusätzlichen Umgebungen nützlich ist, können Sie den ID-Parameter ersetzen, mit einer Where-Klausel. Beispiel:

$logicalNetwork = @(Get-SCLogicalNetwork | where { $_.Name -like "LogicalNet*" })
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork[0] -RunAsynchronously

Der erste Befehl ruft jetzt alle logischen Netzwerke mit einem Namen, der mit "LogicalNet" beginnt, und platziert sie in einem Array. Mit dem zweite Befehl wird das erste logische Netzwerk im Array, aktualisieren den Namen in "Back-End" geändert.

Ein generiertes Skript Parameter hinzufügen

Eine andere Möglichkeit, ein generiertes Skript zugänglicher zu machen ist im Skript Parameter definieren. Skriptparameter funktionieren wie Funktionsparameter. Die Parameterwerte werden alle Befehle in das Skript zur Verfügung. Beim Ausführen des Skripts geben Benutzern Skript die Parameter nach dem Skriptnamen.

Um ein Skript Parameter hinzufügen, verwenden Sie die Param-Anweisung. Param-Anweisung muss die erste Anweisung im Skript mit Ausnahme der Kommentare. Das folgende Beispiel zeigt das generierte Skript von oben so geändert, dass der Name eines vorhandenen logischen Netzwerks und einen neuen Namen für das logische Netzwerk festgelegt werden können, und eine Beschreibung hinzugefügt, wenn das Skript ausgeführt wird.

Param(
   [parameter(Mandatory=$true)]
   [String] $LogicalNetwork = $(throw "A name for an existing logical network is required."),

   [parameter(Mandatory=$true)]
   [String] $NewName = $(throw "A new name for the logical network is required."),

   [parameter(Mandatory=$false)]
   [String] $Description
   )
Set-SCLogicalNetwork -Name $NewName -Description $Description -LogicalNetwork $LogicalNetwork -RunAsynchronously

Wenn Sie dieses Skript ausführen, müssen Sie den Namen eines vorhandenen logischen Netzwerks und einen neuen Namen für das logische Netzwerk bereitstellen. Die Angabe einer Beschreibung ist optional. Zum Beispiel wenn dieses Skript als "UpdateLogicalNetworkName.ps1" gespeichert ist, geben Sie Folgendes in die Befehlszeile eingeben: .\UpdateLogicalNetworkName.ps1 -LogicalNetwork "LogicalNetwork01" -NewName "Backend" -Description "Backend logical network for Seattle." Wenn Sie nicht, dass die Werte für angeben LogicalNetwork und NewName, Sie werden aufgefordert, diese.

Weitere Informationen zu Windows PowerShell-Skripts schreiben, finden Sie unter About_Scripts.