Hyper-Vネタです。
今回は、PowerShellを使って仮想システムの情報を取得してみます。
1)まずはやってみましょ
Get-WmiObject -Namespace rootvirtualization -ComputerName “.” -Class Msvm_Computersystem
PS C:> Get-WmiObject -Namespace rootvirtualization -ComputerName “.” -Class Msvm_Computersystem __GENUS : 2 __CLASS : Msvm_ComputerSystem __SUPERCLASS : CIM_ComputerSystem __DYNASTY : CIM_ManagedElement __RELPATH : Msvm_ComputerSystem.CreationClassName=“Msvm_ComputerSystem“,Name=“Hogehoge“ __PROPERTY_COUNT : 29 __DERIVATION : {CIM_ComputerSystem, CIM_System, CIM_EnabledLogicalElement, CIM_LogicalElement...} __SERVER : Hogehoge __NAMESPACE : rootvirtualization __PATH : \Hogehogerootvirtualization:Msvm_ComputerSystem.CreationClassName=“Msvm_ComputerSystem“,Name=“Hogehoge“ AssignedNumaNodeList : Caption : ホスト コンピューター システム CreationClassName : Msvm_ComputerSystem Dedicated : Description : Microsoft ホスト コンピューター システム ElementName : Hogehoge EnabledDefault : 2 EnabledState : 2 HealthState : 5 IdentifyingDescriptions : InstallDate : Name : Hogehoge NameFormat : OnTimeInMilliseconds : OperationalStatus : {2} OtherDedicatedDescriptions : OtherEnabledState : OtherIdentifyingInfo : PowerManagementCapabilities : PrimaryOwnerContact : PrimaryOwnerName : ProcessID : RequestedState : 12 ResetCapability : 1 Roles : Status : StatusDescriptions : {OK} TimeOfLastConfigurationChange : TimeOfLastStateChange : __GENUS : 2 __CLASS : Msvm_ComputerSystem __SUPERCLASS : CIM_ComputerSystem __DYNASTY : CIM_ManagedElement __RELPATH : Msvm_ComputerSystem.CreationClassName=“Msvm_ComputerSystem“,Name=“03DC23B0-****-4281-BE**-33369646E8E2“ __PROPERTY_COUNT : 29 __DERIVATION : {CIM_ComputerSystem, CIM_System, CIM_EnabledLogicalElement, CIM_LogicalElement...} __SERVER : Hogehoge __NAMESPACE : rootvirtualization __PATH : \Hogehogerootvirtualization:Msvm_ComputerSystem.CreationClassName=“Msvm_ComputerSystem“,Name=“03DC23B0-5389-4281-****-33369646E8E2“ AssignedNumaNodeList : {0} Caption : 仮想マシン CreationClassName : Msvm_ComputerSystem Dedicated : Description : Microsoft Virtual Machine ElementName : Win7 EnabledDefault : 2 EnabledState : 2 HealthState : 5 IdentifyingDescriptions : InstallDate : 20090718035145.000000-000 Name : 03DC23B0-5389-4281-****-33369646E8E2 NameFormat : OnTimeInMilliseconds : 332464281 OperationalStatus : {2} OtherDedicatedDescriptions : OtherEnabledState : OtherIdentifyingInfo : PowerManagementCapabilities : PrimaryOwnerContact : PrimaryOwnerName : ProcessID : 1348 RequestedState : 12 ResetCapability : 1 Roles : Status : StatusDescriptions : {正常稼働中} TimeOfLastConfigurationChange : 20100104093738.593750-000 TimeOfLastStateChange : 20100104093733.000000-000 ・ ・ ・
これだと情報が多すぎて分からないですね・・・
2)ほしい情報だけを抜き出す
Hyper-Vサーバ ・・・・・・・・Hogehoge
仮想マシン名・・・・・・・・・・・ElementName
仮想マシン・・・・・・・・・・・・・Caption
仮想マシンのステータス・・・StatusDescriptions
仮想マシンのGUID・・・・・・Name
を取得してみる。
Get-WmiObject -Namespace rootvirtualization -ComputerName “Hogehoge” -Class Msvm_Computersystem | Select-Object ElementName,Caption,StatusDescriptions,Name| Format-List *
PS C:> Get-WmiObject -Namespace rootvirtualization -ComputerName “Hogehoge“ -Class Msvm_Computersystem|Select-Object ElementName,Caption,StatusDescriptions,Name| Format-List * ElementName : Hogehoge Caption : ホスト コンピューター システム StatusDescriptions : {OK} Name : Hogehoge ElementName : Win7 Caption : 仮想マシン StatusDescriptions : {正常稼働中} Name : 03DC23B0-5389-4281-****-33369646E8E2 ・ ・ ・
取得できましたか??
これを使って、仮想マシン接続のショートカットを作ります。
こうご期待。
仮想マシンへのショートカット
PowerShell難しい。。