我需要一个 powercli 脚本来自动执行 VC 中的某些任务,我找到了下面的脚本,但在这里我可以将 AD 组权限分配给文件夹级别。但我想在 VC 级别分配权限。有什么办法可以做到这一点吗?
$TargetVC="XXXX
Set-PowerCLIConfiguration -DefaultVIServerMode multiple -Confirm:$false
Connect-VIServer -server $TargetVC
$rootFolder = (Get-Folder foldername)
$user = get-viaccount -domain 'Domain name' -group -id 'AD group'
$role = Get-VIRole -Name 'xxx'
New-VIPermission -Entity $TargetVC -Principal $user -Role $role -Propagate $true -Confirm:$false
我还需要创建几个 vsphere.local 用户并分配只读权限。我找不到任何 powercli 脚本。请帮忙解决这个问题
问候,Karthick V
答案1
除了 PowerCLI 之外,您还可以使用其他模块来帮助您实现此目的: https://github.com/vmware/PowerCLI-Example-Scripts 所以首先 git clonehttps://github.com/vmware/PowerCLI-Example-Scripts.git 然后进入目录,导入SSO模块
C:\Users\Greg-Admin\PowerCLI-Example-Scripts\Modules\VMware.vSphere.SsoAdmin> Import-Module .\VMware.vSphere.SsoAdmin.psd1
加载完成后,您现在可以连接到 SSO:
Connect-SsoAdminServer -Server vc005.greg.labs -User '[email protected]' -Password 'VMware1!'
Name : vc005.greg.labs
ServiceUri : https://vc005.greg.labs/sso-adminserver/sdk/vsphere.local
User : [email protected]
Id : /SsoAdminServer=vsphere.local/[email protected]
IsConnected : True
Client : VMware.vSphere.SsoAdminClient.SsoAdminClient
RefCount : 1
连接后,您可以为您的 SSO 域创建用户,在我的示例中,我使用 vsphere.local
New-SsoPersonUser -UserName 'greg12' -Password '1!SecretPassword!1' -FirstName 'Greg' -LastName 'Gregzon' | Set-SsoPersonUser -Group (Get-SsoGroup -Domain 'vsphere.local' -Name Administrators) -Add
Name : greg12
Domain : vsphere.local
Description :
FirstName : Greg
LastName : Gregzon
EmailAddress :
Locked : False
Disabled : False
PasswordExpirationRemainingDays : 90
这将创建用户并将用户添加到 vsphere.local 域中的管理员组中。如果您想使用 SSH 解决此问题,可以使用 vcenter appliance dir-cli 中的命令来完成
ssh [email protected] /usr/lib/vmware-vmafd/bin/dir-cli user create --account greg7 --first-name Grzegorz --last-name gregzon --user-password '1!SuperSecret1!' --password 'VMware1!'
假设您已在根 .ssh/authorized_keys 中添加了公钥,它就不会提示输入密码。