Creazione di uno Script da procedure guidate VMM e pagine delle proprietà

 

Si applica a: System Center 2012 R2 Virtual Machine Manager, System Center 2012 - Virtual Machine Manager

Per iniziare con la creazione di script, in System Center 2012 – Virtual Machine Manager (VMM) è possibile generare uno script quando si esegue una procedura guidata o aggiornamento di proprietà nella console VMM. È possibile utilizzare il Visualizza Script sul pulsante di riepilogo pagina di ogni procedura guidata nella console VMM o proprietà pagina per visualizzare l'insieme di cmdlet che verrà eseguita quando si fa clic su Fine alla fine di una procedura guidata o OK quando si aggiornano le proprietà. È possibile modificare i comandi in base alle esigenze e quindi salvare il file con estensione ps1, che lo identifica come uno script Windows PowerShell.

Modificare lo Script generato

Più script generati utilizzare il parametro ID dei cmdlet per identificare oggetti specifici in cui hanno azioni. Poiché questo ID è specifico di tale oggetto, è opportuno consentire script accettano parametri o utilizzare un Get per ottenere un oggetto per rendere disponibili per l'utilizzo con altri oggetti di script.

Aggiunta di un cmdlet Get a uno Script generato

Quando si apporta una modifica al valore della proprietà, lo script generato utilizza un ID per ottenere l'oggetto da modificare. Ad esempio, lo script seguente viene generato quando si modifica il nome e la descrizione per una rete logica:

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

Per rendere questo script utili in ambienti aggiuntivi, è possibile sostituire il parametro ID con una clausola where clausola. Ad esempio:

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

A questo punto, il primo comando recupera tutte le reti logiche che hanno un nome che inizia con "LogicalNet" e li inserisce in una matrice. Il secondo comando modifica la rete logica prima nella matrice, aggiornare il nome su "Back-end".

Aggiunta di parametri a uno Script generato

Un altro modo per rendere più accessibile uno script generato è definire i parametri nello script. I parametri dello script funzionano come parametri di funzione. I valori dei parametri sono disponibili per tutti i comandi nello script. Quando si esegue lo script, i parametri di tipo agli utenti di script dopo il nome dello script.

Per aggiungere parametri a uno script, utilizzare l'istruzione Param. L'istruzione Param deve essere la prima istruzione nello script, ad eccezione dei commenti. Nell'esempio seguente mostra lo script generato dall'alto modificato in modo che il nome di una rete logica esistente e un nuovo nome per la rete logica può essere designati e viene aggiunta una descrizione, quando viene eseguito lo script.

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

Quando si esegue questo script, è necessario fornire il nome di una rete logica esistente e un nuovo nome per la rete logica. Fornire una descrizione è facoltativa. Ad esempio se questo script viene salvato come "UpdateLogicalNetworkName.ps1", digitare quanto segue al prompt dei comandi: .\UpdateLogicalNetworkName.ps1 -LogicalNetwork "LogicalNetwork01" -NewName "Backend" -Description "Backend logical network for Seattle." Se non si forniscono valori per LogicalNetwork e NewName, verrà richiesto di essi.

Per ulteriori informazioni sulla scrittura di script Windows PowerShell, vedere about_Scripts.

Vedere anche

Guida sui Cmdlet VMM