環境
- CentOS 7.7.1908
- .NET SDK 3.1
- PowerShell 6.2.3
- VMware.PowerCLI 11.5.0.14912921
Powershell の起動
以下は Powershell を起動したプロンプト内で実行します
証明書のエラーを抑制する
Set-PowerCLIConfiguration -InvalidCertificateAction:Ignore
一度のみ実行すれば OK です
vCenter or ESXi への接続 (basic 認証)
Connect-VIServer -Server 192.168.100.10 -User administrator@vsphere.local -Password xxxxxxxxxxx
vCenter or ESXi への接続解除
Disconnect-VIServer
ユーザの取得
Get-VMHostAccount
Get-VMHostAccount -Name hoge
ユーザの追加
New-VMHostAccount -Id hoge -Password "fuga12345!" -Description "for test"
ユーザの削除
Get-VMHostAccount -Id hoge | Remove-VMHostAccount
ロールの取得
Get-VIRole
Get-VIRole -Name NewRole_20200204
ロールの追加
New-VIRole -Name NewRole_20200204 -Privilege (Get-VIPrivilege -PrivilegeGroup)
ロールの削除
Get-VIRole -Name NewRole_20200204 | Remove-VIRole
権限の取得
Get-VIPermission
Get-VIPermission -Entity (Get-Datacenter) -Principal VSPHERE.LOCAL\vsphere-webclient-0c0e11a5-d914-4030-976c-04e51aa67b00
権限の追加 (ロール or ユーザへの権限割り当て)
New-VIPermission -Role NewRole_20200204 -Entity (Get-Datacenter) -Principal VSPHERE.LOCAL\vsphere-webclient-0c0e11a5-d914-4030-976c-04e51aa67
New-VIPermission -Entity (Get-VMHost) -Principal hoge -Role Admin -Propagate:$true
権限の削除
$permission = Get-VIPermission -Entity (Get-VMHost) -Principal hoge
Remove-VIPermission -Permission $permission
Tips
Get-View の使い方
$dc = Get-Datacenter | Get-View
Write-Host $dc.Name
Get-Datacenter で取得した結果から Datacenter オブジェクトを取得して編集に格納します
オブジェクトにすることでドットつなぎでフィールドなどを参照することができます
Select-Object -ExpandProperty
Get-VIPrivilege -Name System | Select-Object -ExpandProperty Id
デフォルトで表示されない Id フィールドを表示することができます
フィールドの一覧は Get-Member
あたりで確認できます
Get-VIPrivilege | Get-Member
WhatIf (ドライラン)
Get-VIRole -Name NewRole_20200204 -WhatIf
どういう挙動になるのか確認することができます
Format-List で短縮形を表示する
Get-VIPermission | Format-List
長くて表示されない項目がある場合はフォーマットを指定することで表示できます
各コマンドのヘルプの表示
Get-Help Get-VIPermission
Get-Help Get-VIPermission -examples
Get-Help Get-VIPermission -full
最後に
VMware.PowerCLI でユーザ/ロール/権限周り操作をしてみました
Powershell に用意されているコマンドレットと組み合わせることで更に便利に扱うことができるようになります
0 件のコメント:
コメントを投稿