Get-SCScript
從 VMM 連結庫取得文本物件,可讓您檢視或編輯任何腳本,或者,如果您有適當的許可權,可檢視、編輯或執行 Windows PowerShell 腳本。
Syntax
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>]
Description
Get-SCScript Cmdlet 會從 Virtual Machine Manager (VMM) 連結庫取得腳本物件。 指令碼物件所代表的指令碼檔案會存放在程式庫伺服器的檔案系統中。 這些腳本通常是 Windows PowerShell 腳本或響應檔案腳本, ® (包括 Sysprep.inf 和 Unattend.xml 檔案,其中包含 Windows 安裝程式) 所需的輸入。
如範例所示,您不僅可以使用 Get-SCScript 來擷取腳本物件,也可以有適當的許可權來檢視腳本的內容或編輯腳本。 此外,如果下列內容成立,您可以執行腳本:1) 腳本是 Windows PowerShell 腳本,2 個) 腳本是在伺服器上啟用,而 3) 您有適當的許可權, (請參閱範例 5) 。
如需在伺服器上啟用 Windows PowerShell 文稿的相關信息,請輸入Get-Help about_Signing
、 Get-Help Get-ExecutionPolicy -Detailed
和 Get-Help Set-ExecutionPolicy -Detailed
。
範例
範例 1:取得所有 VMM 連結庫伺服器上儲存的所有腳本
PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com"
此命令會取得 VMMServer01 上 VMM 連結庫中儲存在連結庫共用中的所有腳本對象,然後向使用者顯示這些腳本的相關信息。
範例 2:顯示連結庫伺服器上所有腳本的指定資訊
PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" } | Format-List -Property Name, LibraryServer, SharePath
此命令會取得儲存在 LibraryServer01 上的所有腳本物件,並向使用者顯示這些腳本的名稱、連結庫伺服器和共享路徑。
範例 3:在任何 VMM 連結庫伺服器上取得具有特定名稱的所有腳本
PS C:\> Get-SCScript -VMMServer "VMMServer1.Contoso.com" | where { $_.Name -eq "Sysprep.inf" }
此命令會取得名為 Sysprep.inf 的回應檔案腳本對象,這些物件儲存在 VMMServer01 上的任何連結庫伺服器上。
注意:根據預設,VMM 連結庫中腳本對象的名稱與連結庫伺服器上的實際腳本檔名相同,包括擴展名。
範例 4:檢視儲存在 VMM 連結庫中的腳本
PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1"}
PS C:\> Notepad.exe $Script.SharePath
第一個命令會從 VMM 連結庫取得名為 SummarizeVMMInfo.ps1 的腳本物件,並將物件儲存在 $Script 變數中。
第二個命令會使用 [記事本] 開啟腳本,以便在您具有讀取腳本的適當許可權時檢視其內容。
注意:如果您有適當的寫入許可權,您也可以編輯腳本並儲存新版本。
範例 5:執行儲存在 VMM 連結庫中的 Windows PowerShell 腳本
PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1" }
PS C:\> &$Script.SharePath
第一個命令會從 VMM 連結庫取得名為 「SummarizeVMMInfo.ps1」 的腳本物件,並將物件儲存在$Script 變數中。
第二個命令會使用 ampersand (&) 運算符來執行儲存在 $Script 中的腳本。
若要執行儲存在 VMM 連結庫共用中的 Windows PowerShell 文稿,您必須確定下列事項:
您有文稿檔案的讀取和執行許可權。
您是 VMM 系統管理員使用者角色的成員。
您有權存取 VMM 連結庫共用。
Windows PowerShell 文稿已啟用。 如果不正確:
以系統管理員身分執行 VMM 命令殼層。 2.使用 Set-ExecutionPolicy Cmdlet,將執行原則設定為環境的適當層級。
如需詳細資訊,請輸入 Get-Help about_Signing
、 Get-Help Get-ExecutionPolicy -Detailed
和 Get-Help Set-ExecutionPolicy -Detailed
參數
-All
表示這個 Cmdlet 會取得與父對象無關的所有次級物件。
例如,不論每個虛擬磁碟驅動器對象相關聯的虛擬機物件或範本對象為何,命令 Get-SCVirtualDiskDrive -All
都會取得所有虛擬磁碟驅動器物件。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FamilyName
指定 VMM 連結庫中實體資源的系列名稱。 此值會與 Release、Namespace 和 Type 搭配使用,以在連結庫資源之間建立相等性。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ID
將數值識別子指定為特定物件的全域唯一標識碼或 GUID。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
指定 VMM 物件的名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Release
指定描述連結庫資源發行的字串。 VMM 會自動為每個匯入至連結庫的資源建立發行值。 匯入資源之後,即可自定義字串。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMMServer
指定 VMM 伺服器物件。
Type: | ServerConnection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
輸出
Script
此 Cmdlet 會傳回 Script 物件。