Set-SCUserRole
修改现有 VMM 用户角色的设置。
语法
Set-SCUserRole
[-UserRole <UserRole>]
[-VMMServer <ServerConnection>]
[-Name <String>]
[-JobGroup <Guid>]
[-AddMember <String[]>]
[-RemoveMember <String[]>]
[-Permission <SelfServicePermission[]>]
[-UserRoleDataPath <String>]
[-RemoveLibraryStoreSharePath]
[-ShowPROTips <Boolean>]
[-AddScope <ClientObject[]>]
[-RemoveScope <ClientObject[]>]
[-Description <String>]
[-VMNetworkMaximum <UInt16>]
[-VMNetworkMaximumPerUser <UInt16>]
[-RemoveVMNetworkMaximum]
[-RemoveVMNetworkMaximumPerUser]
[-VPNConnectionMaximum <UInt16>]
[-VPNConnectionMaximumPerUser <UInt16>]
[-RemoveVPNConnectionMaximum]
[-RemoveVPNConnectionMaximumPerUser]
[-NATConnectionMaximum <UInt16>]
[-NATConnectionMaximumPerUser <UInt16>]
[-RemoveNATConnectionMaximum]
[-RemoveNATConnectionMaximumPerUser]
[-VMNetworkVPNMaximumBandwidthInKbps <UInt64>]
[-VMNetworkVPNMaximumBandwidthOutKbps <UInt64>]
[-RemoveVMNetworkVPNMaximumBandwidthIn]
[-RemoveVMNetworkVPNMaximumBandwidthOut]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
说明
Set-SCUserRole cmdlet 修改现有 Virtual Machine Manager (VMM) 用户角色的设置。 可以修改的设置取决于 VMM 用户角色的类型。
用户角色的类型如下所示:
VMM 管理员 (管理员)
你可以向管理员用户角色添加成员或删除成员。 不能限制此角色的成员可以管理的对象范围。
委派的管理员 (DelegatedAdmin)
可以向委派的管理员用户角色添加成员并删除成员。 可以展开或限制委派的管理员用户角色的范围。 可以授予此用户角色的成员权限,以管理私有云和主机组中的所有对象。 允许用户管理库服务器上存储的所有对象。 在此框架内,您不能限制委派的管理员用户角色的成员可以执行的操作。
Read-Only Administrator (ReadOnlyAdmin)
可以向Read-Only管理员用户角色添加成员和从中删除成员。 可以展开或限制Read-Only管理员用户角色的范围。 但是,用户角色的成员只能查看其分配范围内对象的属性、状态和作业状态。 它们无法修改任何对象。
Self-Service User (SelfServiceUser)
可以向Self-Service用户角色添加成员或删除成员。 可以扩展或限制Self-Service用户角色的成员的范围和操作。 可以向Self-Service用户角色的成员授予管理私有云中的所有对象的权限。 可以授予创建虚拟机的权限、将虚拟机存储在虚拟机所存储的云中的虚拟机路径的权限,以及使用模板对象创建虚拟机的权限。 在该框架中,可以授予自助服务用户可以采取的Self-Service用户角色操作的成员。 您还可以限制自助服务用户可通过设置每个用户或所有用户共同应用的配额来创建的虚拟机数量。
可以授予自助服务用户的操作包括:
- AllowLocalAdmin。 授予虚拟机上的用户本地管理员权限。
- 作者。 创作虚拟机和服务模板。
- CanShare。 与其他Self-Service用户共享资源。
- CanReceive。 从其他Self-Service用户接收资源。
- 检查点。 创建和管理虚拟机检查点。
- CheckpointRestoreOnly。 只能还原检查点。
- “创建”。 仅从模板创建虚拟机和服务。
- CreateFromVHDOrTemplate。 从虚拟硬盘创建虚拟机和服务, (VHD) 文件或模板。
- PauseAndResume。 暂停和恢复虚拟机和服务。
- RemoteConnect。 远程连接到虚拟机。
- 删除。 删除虚拟机和服务。
- 保存。 保存虚拟机和服务。
- 关闭。 关闭虚拟机。
- 启动”添加 WEBVM。 启动虚拟机和服务。
- 停止。 停止虚拟机和服务。
- 存储。 将虚拟机存储在库中。
示例
示例 1:将用户添加到 VMM 管理员用户角色
PS C:\> $UserRole = Get-SCUserRole -Name "Administrator"
PS C:\> Set-SCUserRole -UserRole $UserRole -AddMember "Contoso\User01","Contoso\User02"
第一个命令获取名为 Administrator 的用户角色对象,然后将该对象存储在$UserRole变量中。
第二个命令将 User01 和 User02 添加到管理员用户角色。 这两个用户都是 Contoso.com 域的成员。
示例 2:使用管道将用户添加到管理员角色
PS C:\> Get-SCUserRole -VMMServer "VMMServer01.Contoso.com" | where { $_.Profile -eq "Administrator" } | Set-SCUserRole -AddMember "Contoso\User03"
此命令从 VMMServer01 获取所有用户角色对象,选择其配置文件为管理员的用户角色对象,然后将 User03 添加到管理员用户角色。
示例 3:通过将云添加到其范围来修改现有Self-Service用户角色
PS C:\> $Cloud = Get-SCCloud -Name "Cloud02"
PS C:\> $UserRole = Get-SCUserRole -Name "ContosoSelfServiceUsers"
PS C:\> Set-SCUserRole -UserRole $UserRole -AddScope $Cloud
第一个命令获取名为 Cloud02 的云对象,然后将该对象存储在$Cloud变量中。
第二个命令获取名为 ContosoSelfServiceUsers 的用户角色对象,然后将该对象存储在$UserRole配置文件中。
最后一个命令通过将存储在$Cloud中的云添加到其范围来修改存储在$UserRole中的用户角色的范围。
示例 4:从管理员用户角色中删除指定用户
PS C:\> $UserRole = Get-SCUserRole -Name "Administrator"
PS C:\> Set-SCUserRole -UserRole $UserRole -RemoveMember "Contoso\User01"
第一个命令获取名为 Administrator 的用户角色对象,然后将该对象存储在$UserRole变量中。
第二个命令从管理员用户角色中删除 User01。 User01 是 Contoso.com 域的成员。
示例 5:将云添加到Self-Service用户角色的范围
PS C:\> $Cloud = Get-SCCloud -Name "Cloud03"
PS C:\> Get-SCUserRole -Name "ContosoSelfServiceUsers" | Set-SCUserRole -AddScope $Cloud
第一个命令获取名为 Cloud03 的云对象,然后将该对象存储在$Cloud变量中。
第二个命令获取名为 ContosoSelfServiceUsers 的用户角色对象,然后将该用户角色对象传递给当前 cmdlet。 此 cmdlet 将存储在$Cloud中的云添加到用户角色。
示例 6:修改Self-Service用户角色的成员在其虚拟机上可以执行的操作
PS C:\> $UserRole = Get-SCUserRole -VMMServer "VMMServer01.Contoso.com" -Name "ContosoSelfServiceUsers"
PS C:\> Set-SCUserRole -UserRole $UserRole -Permission "Create,PauseAndResume,Stop,AllowLocalAdmin,Store"
第一个命令获取 VMMServer01 上名为 ContosoSelfServiceUsers 的用户角色对象,然后将该对象存储在$UserRole变量中。
第二个命令修改$UserRole中存储的用户角色成员的权限,以允许创建、PauseAndResume、Stop、AllowLocalAdmin 和 Store 权限。
参数
-AddMember
指定此 cmdlet 添加到具有成员概念的对象(如组)的成员数组。 例如,此 cmdlet 可以将一个或多个 Active Directory® 域服务域用户或组添加到用户角色。 使用以下格式指定成员:
- 域\用户
- 用户
- User@Domain
- Domain\LabGroupAlias
- LabGroupAlias
实验室组别名是Active Directory 域服务安全组,而不是电子邮件别名。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AddScope
指定此 cmdlet 添加到此用户角色成员可以管理的对象范围的范围。
Type: | ClientObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
指定用户角色的说明。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobGroup
指定在包含相同作业组标识符的最终命令之前作为集运行的一系列命令的标识符。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
指定跟踪和存储作业进度的变量。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
指定用户角色的新名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NATConnectionMaximum
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NATConnectionMaximumPerUser
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
指定用户名。 此 cmdlet 代表此参数指定的用户运行。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
指定用户角色。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。 此 cmdlet 代表此参数指定的用户角色运行。
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Permission
指定Self-Service用户角色成员在其虚拟机或服务上可执行的操作数组。 有效值为:
- AllowLocalAdmin
- 作者
- CanShare
- CanReceive
- Checkpoint
- CheckpointRestoreOnly
- 创建
- CreateFromVHDOrTemplate
- PauseAndResume
- RemoteConnect
- 删除
- 保存
- 关机
- 开始
- 停止
- 存储
如果授予 CreateFromVHDOrTemplate 权限,则还授予“创建”权限。 如果授予检查点权限,则还会授予 CheckpointRestoreOnly 权限。
Type: | SelfServicePermission[] |
Aliases: | VMPermission |
Accepted values: | Create, PauseAndResume, Start, Stop, AllowLocalAdmin, RemoteConnect, Remove, Shutdown, Checkpoint, Store, Save, Author, CanShare, CanReceive, CreateFromVHDOrTemplate, CheckpointRestoreOnly, AuthorVMNetwork, CreateShielded |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveLibraryStoreSharePath
指示此 cmdlet 清除自助服务用户的用户角色数据路径。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveMember
指定此 cmdlet 从具有成员身份概念的 VMM 对象(如组)中删除的成员数组。 例如,此 cmdlet 可以从用户角色中删除一个或多个Active Directory 域服务域用户或组。 使用以下格式指定成员:
- 域\用户
- 用户
- User@Domain
- Domain\LabGroupAlias
- LabGroupAlias
实验室组别名是Active Directory 域服务安全组,而不是电子邮件别名。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveNATConnectionMaximum
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveNATConnectionMaximumPerUser
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveScope
指定要从此用户角色的成员可以管理的对象范围中删除的 VMM 对象的数组。
Type: | ClientObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVMNetworkMaximum
指示此 cmdlet 删除虚拟机网络最大设置。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVMNetworkMaximumPerUser
指示此 cmdlet 删除每个用户设置的虚拟机网络最大值。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVMNetworkVPNMaximumBandwidthIn
指示此 cmdlet 删除虚拟专用网络 (VPN) 传入连接的最大带宽设置。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVMNetworkVPNMaximumBandwidthOut
指示此 cmdlet 删除传出连接的 VPN 最大带宽设置。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVPNConnectionMaximum
指示此 cmdlet 删除 VPN 连接最大设置。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveVPNConnectionMaximumPerUser
指示此 cmdlet 删除每个用户设置的 VPN 连接最大值。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
指示作业异步运行,以便控件立即返回到命令 shell。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ShowPROTips
指示是否显示 PRO 提示。 此参数仅适用于Self-Service用户角色。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserRole
指定此 cmdlet 修改的用户角色对象。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UserRoleDataPath
指定库共享的路径,Self-Service用户角色的成员可以使用该路径上传数据。 以以下格式指定路径:\LibraryServerName\LibraryShareName。
Type: | String |
Aliases: | LibraryStoreSharePath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMMServer
指定此 cmdlet 修改用户角色的 VMM 服务器。
Type: | ServerConnection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMNetworkMaximum
指定用户角色的最大虚拟机网络数。
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMNetworkMaximumPerUser
指定用户的最大虚拟机网络数。
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMNetworkVPNMaximumBandwidthInKbps
指定 VPN 传入流量的最大带宽(每秒千比特)。
Type: | UInt64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMNetworkVPNMaximumBandwidthOutKbps
为 VPN 的传出流量指定每秒的最大带宽(千比特/秒)。
Type: | UInt64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VPNConnectionMaximum
指定 VPN 的最大连接数。
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VPNConnectionMaximumPerUser
指定 VPN 每个用户的最大连接数。
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输出
UserRole
备注
- 若要列出可为自助服务用户指定的所有可用权限,请键入以下命令:
PS C:\> [enum]::GetValues([Microsoft.VirtualManager.Remoting.SelfServicePermission])