System Center 2016 – Virtual Machine Manager (SCVMM 2016) に触れる機会が多くなり、Virtual Machine Manager Command Shell を使った設定や、情報取得、および管理することが増えてきたので、備忘録として各コマンドレットの概要を日本語化 (意訳) しました。
ここでは Get-SCScript コマンドレットのヘルプ情報について、SCVMM2016 UR5 の Virtual Machine Manager Command Shell 上で「Get-SCScript」コマンドレットの -Full オプションを用いて実行した結果を元に記載しています。 ※SCVMM 2016 UR5 で利用可能なコマンドレット一覧については、「System Center 2016 – Virtual Machine Manager で利用できるコマンドレットについて」を参照。
Get-SCScript コマンドレット
名前
Get-SCScript
概要
適切なアクセス権を持つ場合に任意のスクリプトを表示、編集、もしくは Windows PowerShell スクリプトの表示、編集、もしくは実行を許可する VMM ライブラリからスクリプト オブジェクトを取得します。
構文
Get-SCScript [-All] [-VMMServer <ServerConnection>] [<CommonParameters>] Get-SCScript Get-SCScript Get-SCScript |
説明
Get-SCScript コマンドレットは、Virtual Machine Manager (VMM) ライブラリからスクリプト オブジェクト情報を取得します。スクリプト オブジェクトが表すスクリプト ファイルは、ライブラリ サーバー上のファイル システムに格納されます。通常これらのスクリプトは、Windows PowerShell スクリプト、もしくは応答ファイル スクリプト (Windows セットアップ プログラムに必要な入力を含む Sysprep.inf および Unattend.xml ファイルを含む) です。
例に示されるように、Get-SCScript を使用してスクリプト オブジェクト情報を取得するだけでなく、適切なアクセス許可がある場合は、スクリプトの内容を表示したり、スクリプトを編集したりすることができます。また、1) スクリプトが Windows PowerShell スクリプトである、2) サーバー上でスクリプトが有効になっている、3) 適切なアクセス許可がある場合、スクリプトを実行できます。
サーバー上で Windows PowerShell スクリプトの有効化に関する詳細な情報は、Get-Help about_Signing、Get-Help Get-ExecutionPolicy -Detailed、および Get-Help Set-ExecutionPolicy -Detailed を実行してください。
パラメーター
-All [<SwitchParameter>]
このコマンドレットが親オブジェクトから独立したすべての従属オブジェクトを取得する場合に指定します。例えば、コマンド Get-SCVirtualDiskDrive -All は、各仮想ディスク ドライブ オブジェクトが関連付けられている仮想マシン オブジェクト、もしくはテンプレート オブジェクトに関係なく、すべての仮想ディスク ドライブ オブジェクトを取得します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-FamilyName <String>
VMM ライブラリ内の物理リソースのファミリ名を指定します。この値は Release、Namespace、および Type とともに使用され、ライブラリ リソース間の同等性を確立します。
必須 | true |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-ID <Guid>
特定のオブジェクトに対するグローバル一意識別子、もしくは GUID として数値 ID を指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-Name <String>
VMM オブジェクト名を指定します。
必須 | true |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-Release <String>
ライブラリ リソースのリリースを表す文字列を指定します。VMM は、ライブラリにインポートされたすべてのリソースのリリース値を自動的に作成します。リソースをインポートした後、文字列をカスタマイズすることが可能です。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-VMMServer <ServerConnection>
VMM サーバー オブジェクトを取得します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | True (ByValue) |
ワイルドカード文字を許可する | false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、OutBuffer, PipelineVariable、および OutVariable。詳細については、about_CommonParameters を参照してください。
入力
出力
- Script
- このコマンドレットは、Script オブジェクトを返します。
メモ
例
例 1 : すべての VMM ライブラリ サーバーに格納されたすべてのスクリプト情報を取得する
コマンド
Get-SCScript -VMMServer "VMMServer01.Contoso.com"
コマンドの説明
このコマンドは、”VMMServer01.Contoso.com” のVMM ライブラリ内のライブラリ共有に格納されたすべてのスクリプト オブジェクトを取得し、それらのスクリプトに関する情報を表示します。
例 2 : ライブラリ サーバー上のすべてのスクリプトに関する指定した情報を表示する
コマンド
Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" } | Format-List -Property Name, LibraryServer, SharePath
コマンドの説明
このコマンドは、”VMMServer01.Contoso.com” の “LibraryServer01.Contoso.com” に格納されているすべてのスクリプトオブジェクトを取得し、これらのスクリプトの名前、ライブラリ サーバー、および共有パスを表示します。
例 3 : 任意の VMM ライブラリ サーバー上にある特定の名前を持つすべてのスクリプト情報をを取得する
コマンド
Get-SCScript -VMMServer "VMMServer1.Contoso.com" | where { $_.Name -eq "Sysprep.inf" }
コマンドの説明
このコマンドは、”VMMServer1.Contoso.com” の任意のライブラリ サーバーに格納された応答ファイル スクリプト オブジェクト “Sysprep.inf” を取得します。
注 : 既定では、VMM ライブラリ内のスクリプト オブジェクト名は、ライブラリ サーバー上の実際のスクリプト ファイル名と同じ名前 (ファイル拡張子を含む) です。
例 4 : VMM ライブラリに格納されたスクリプト情報を表示する
コマンド
$Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1"} Notepad.exe $Script.SharePath
コマンドの説明
最初のコマンドは、VMM ライブラリからスクリプト オブジェクト “SummarizeVMMInfo.ps1” を取得し、そのオブジェクトを $Script 変数に格納します。 2 番目のコマンドは、メモ帳を使用してスクリプトを開きます (スクリプトを読むための適切なアクセス権を持っている場合、その内容を表示できます)。
注 : 適切な書き込みのアクセス許可がある場合は、スクリプトを編集して新しいバージョンを保存することも可能です。
例 5 : VMM ライブラリに格納された Windows PowerShell スクリプトを実行する
コマンド
$Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1" } &$Script.SharePath
コマンドの説明
最初のコマンドは、VMM ライブラリから スクリプト オブジェクト “SummarizeVMMInfo.ps1” を取得し、そのオブジェクトを $Script 変数に格納します。
2 番目のコマンドは、$Script に格納されたスクリプトを実行するためにアンパサンド (&) 演算子を用います。 VMM ライブラリ共有に格納された Windows PowerShell スクリプトを実行するために、次の項目について確認する必要があります :
- スクリプト ファイルに読み取りおよび実行のアクセス許可がある。
- VMM Administrators ユーザー ロールのメンバーである。
- VMM ライブラリ共有にアクセスする権限がある。
- Windows PowerShell スクリプトが有効化されている。
そうでない場合 :
- Administrator として VMM コマンドを実行します。
- Set-ExecutionPolicy コマンドレットを使用して、実行ポリシーを環境に適したレベルに設定します。
詳細な情報は、Get-Help about_Signing、Get-Help Get-ExecutionPolicy -Detailed、および Get-Help Set-ExecutionPolicy -Detailed を実行してください。
関連するリンク
- Remove-SCScript
- Set-SCScript
参考
- System Center 2016 – データセンターの管理 | Microsoft
https://www.microsoft.com/ja-jp/cloud-platform/system-center - VirtualMachineManager | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2016 - Get-SCScript (VirtualMachineManager) | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/get-scscript?view=systemcenter-ps-2016