Condividi tramite


Get-SCScript

Ottiene oggetti script dalla libreria VMM, che consente di visualizzare o modificare qualsiasi script o di visualizzare, modificare o eseguire uno script di Windows PowerShell se si dispone delle autorizzazioni appropriate.

Sintassi

Get-SCScript
   [-VMMServer <ServerConnection>]
   [-All]
   [<CommonParameters>]
Get-SCScript
   [-VMMServer <ServerConnection>]
   -Name <String>
   [<CommonParameters>]
Get-SCScript
   [-VMMServer <ServerConnection>]
   [-Release <String>]
   -FamilyName <String>
   [<CommonParameters>]
Get-SCScript
   [-VMMServer <ServerConnection>]
   [-ID <Guid>]
   [<CommonParameters>]

Descrizione

Il cmdlet Get-SCScript ottiene oggetti script dalla libreria VMM (Virtual Machine Manager). Il file di script rappresentato da un oggetto script viene archiviato nel file system in un server di libreria. In genere, questi script sono script di Windows PowerShell® o script di file di risposte (inclusi i file Sysprep.inf e Unattend.xml, che contengono gli input necessari per il programma di installazione di Windows).

Come illustrato negli esempi, è possibile usare Get-SCScript non solo per recuperare oggetti script, ma anche per visualizzare il contenuto di uno script o per modificare uno script. Inoltre, è possibile eseguire lo script se sono vere: 1) lo script è uno script di Windows PowerShell, 2) è abilitato nel server e 3) si dispone delle autorizzazioni appropriate (vedere l'esempio 5).

Per informazioni sull'abilitazione dello scripting di Windows PowerShell nel server, digitare Get-Help about_Signing, Get-Help Get-ExecutionPolicy -Detailede Get-Help Set-ExecutionPolicy -Detailed.

Esempio

Esempio 1: Ottenere tutti gli script archiviati in tutti i server di libreria VMM

PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com"

Questo comando ottiene tutti gli oggetti script archiviati nelle condivisioni di libreria nella libreria VMM in VMMServer01 e quindi visualizza informazioni su questi script all'utente.

Esempio 2: Visualizzare le informazioni specificate su tutti gli script in un server di libreria

PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" } | Format-List -Property Name, LibraryServer, SharePath

Questo comando ottiene tutti gli oggetti script archiviati in LibraryServer01 e visualizza il nome, il server di libreria e il percorso di condivisione per questi script all'utente.

Esempio 3: Ottenere tutti gli script con un nome specifico in qualsiasi server di libreria VMM

PS C:\> Get-SCScript -VMMServer "VMMServer1.Contoso.com" | where { $_.Name -eq "Sysprep.inf" }

Questo comando ottiene gli oggetti script del file di risposte denominati Sysprep.inf archiviati in qualsiasi server di libreria in VMMServer01.

Nota: per impostazione predefinita, il nome di un oggetto script nella libreria VMM è lo stesso nome, inclusa l'estensione di file, come nome del file di script effettivo nel server di libreria.

Esempio 4: Visualizzare uno script archiviato nella libreria VMM

PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1"}
PS C:\> Notepad.exe $Script.SharePath

Il primo comando ottiene l'oggetto script denominato SummarizeVMMInfo.ps1 dalla libreria VMM e archivia l'oggetto nella variabile $Script.

Il secondo comando usa blocco note per aprire lo script in modo che sia possibile visualizzarne il contenuto se si dispone delle autorizzazioni appropriate per leggere lo script.

Nota: se si dispone delle autorizzazioni di scrittura appropriate, è anche possibile modificare lo script e salvare la nuova versione.

Esempio 5: Eseguire uno script di Windows PowerShell archiviato nella libreria VMM

PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1" }
PS C:\> &$Script.SharePath

Il primo comando ottiene l'oggetto script denominato "SummarizeVMMInfo.ps1" dalla libreria VMM e archivia l'oggetto nella variabile $Script.

Il secondo comando usa l'operatore e commerciale (&) per eseguire lo script archiviato in $Script.

Per eseguire uno script di Windows PowerShell archiviato in una condivisione di libreria VMM, è necessario assicurarsi quanto segue:

  • Si dispone delle autorizzazioni di lettura ed esecuzione per il file di script.

  • Si è membri del ruolo utente Amministratori VMM.

  • Si dispone delle autorizzazioni per accedere alla condivisione di libreria VMM.

  • Lo scripting di Windows PowerShell è abilitato. In caso contrario:

Eseguire la shell dei comandi VMM come amministratore. 2. Utilizzare il cmdlet Set-ExecutionPolicy per impostare i criteri di esecuzione sul livello appropriato per l'ambiente.

Per altre informazioni, digitare Get-Help about_Signing, Get-Help Get-ExecutionPolicy -Detailede Get-Help Set-ExecutionPolicy -Detailed

Parametri

-All

Indica che questo cmdlet ottiene tutti gli oggetti subordinati indipendentemente dall'oggetto padre. Ad esempio, il comando Get-SCVirtualDiskDrive -All ottiene tutti gli oggetti unità disco virtuale indipendentemente dall'oggetto macchina virtuale o dall'oggetto modello a cui è associato ogni oggetto unità disco virtuale.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-FamilyName

Specifica un nome di famiglia per una risorsa fisica nella libreria VMM. Questo valore viene usato insieme a Release, Namespace e Type per stabilire l'equivalenza tra le risorse della libreria.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ID

Specifica l'identificatore numerico come identificatore univoco globale o GUID per un oggetto specifico.

Tipo:Guid
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specifica il nome di un oggetto VMM.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Release

Specifica una stringa che descrive il rilascio di una risorsa di libreria. VMM crea automaticamente un valore di versione per ogni risorsa importata nella libreria. Dopo l'importazione della risorsa, è possibile personalizzare la stringa.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-VMMServer

Specifica un oggetto server VMM.

Tipo:ServerConnection
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

Output

Script

Questo cmdlet restituisce un oggetto Script.