共用方式為


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>]

Description

Set-SCUserRole Cmdlet 會修改現有 Virtual Machine Manager (VMM) 使用者角色的設定。 您可以修改的設定取決於 VMM 使用者角色的類型。

使用者角色的類型如下所示:

VMM 系統管理員(系統管理員)

您可以將成員新增至系統管理員使用者角色,或從系統管理員使用者角色中移除成員。 您無法限制此角色成員可以管理的物件範圍。

委派管理員(DelegatedAdmin)

您可以將成員新增至委派的系統管理員使用者角色,並從中移除成員。 您可以展開或限制委派系統管理員使用者角色的範圍。 您可以授與此使用者角色許可權的成員,以管理私人雲端和主機群組中的所有物件。 您可以允許使用者管理儲存在連結庫伺服器上的所有物件。 在該架構中,您無法限制委派系統管理員使用者角色成員可執行的動作。

Read-Only 系統管理員 (ReadOnlyAdmin)

您可以將成員新增至系統管理員使用者角色,並從 Read-Only 移除成員。 您可以展開或限制 Read-Only 系統管理員使用者角色的範圍。 不過,使用者角色的成員只能檢視其指派範圍內對象的屬性、狀態和作業狀態。 它們無法修改任何物件。

Self-Service 使用者 (SelfServiceUser)

您可以將成員新增至或移除 Self-Service 使用者角色的成員。 您可以展開或限制 Self-Service 使用者角色成員的範圍和動作。 您可以授與 Self-Service 使用者角色許可權的成員,以管理私人雲端中的所有物件。 您可以授與建立虛擬機的許可權、將虛擬機儲存在虛擬機位於雲端的預存虛擬機路徑的許可權,以及使用範本物件來建立虛擬機的許可權。 在該架構中,您可以授與自助使用者可以採取的 Self-Service 使用者角色動作成員。 您也可以藉由設定套用至每個使用者或所有使用者的配額,來限制自助使用者可以建立的虛擬機數目。

您可以授與自助使用者的動作包括下列各項:

  • AllowLocalAdmin。 授與虛擬機上的使用者本機系統管理員許可權。
  • 作者。 撰寫虛擬機和服務範本。
  • CanShare。 與其他 Self-Service 用戶共享資源。
  • CanReceive。 從其他 Self-Service 使用者接收資源。
  • 檢查站。 建立和管理虛擬機檢查點。
  • CheckpointRestoreOnly。 只能還原檢查點。
  • 創造。 僅從範本建立虛擬機和服務。
  • CreateFromVHDOrTemplate。 從虛擬硬碟 (VHD) 檔案或範本建立虛擬機和服務。
  • PauseAndResume。 暫停和繼續虛擬機和服務。
  • RemoteConnect。 從遠端連線到虛擬機。
  • 刪除。 拿掉虛擬機和服務。
  • 救。 儲存虛擬機和服務。
  • 關閉。 關閉虛擬機。
  • 開始。 啟動虛擬機和服務。
  • 停。 停止虛擬機和服務。
  • 商店。 將虛擬機儲存在連結庫中。

範例

範例 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 取得所有使用者角色對象、選取其配置檔為 Administrator 的使用者角色對象,然後將 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"

第一個命令會取得名為 ContosoSelfServiceUsers 之 VMMServer01 上的使用者角色對象,然後將物件儲存在$UserRole變數中。

第二個命令會修改儲存在 $UserRole 中之使用者角色成員的許可權,以允許 Creation、PauseAndResume、Stop、AllowLocalAdmin 和 Store 許可權。

參數

-AddMember

指定這個 Cmdlet 新增至具有成員概念的對象的成員陣列,例如群組。 例如,此 Cmdlet 可以將一或多個 Active Directory® Domain Services 網域使用者或群組新增至使用者角色。 以下欄格式指定成員:

  • 網域\使用者
  • 使用者
  • User@Domain
  • Domain\LabGroupAlias
  • LabGroupAlias

實驗室群組別名是Active Directory網域服務安全組,而不是電子郵件別名。

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-AddScope

指定此 Cmdlet 新增至此使用者角色成員可以管理之物件範圍的範圍陣列。

類型:ClientObject[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Description

指定使用者角色的描述。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-JobGroup

指定一系列命令的標識碼,這些命令會在包含相同作業群組標識符的執行的最後一個命令之前,以集合的形式執行。

類型:Guid
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-JobVariable

指定追蹤和儲存作業進度的變數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Name

指定使用者角色的新名稱。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-NATConnectionMaximum

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-NATConnectionMaximumPerUser

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OnBehalfOfUser

指定用戶名稱。 這個 Cmdlet 代表此參數指定的用戶運作。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OnBehalfOfUserRole

指定使用者角色。 若要取得使用者角色,請使用 Get-SCUserRole Cmdlet。 這個 Cmdlet 代表此參數指定的使用者角色運作。

類型:UserRole
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Permission

指定 Self-Service 使用者角色成員可以在虛擬機或服務上執行的動作陣列。 有效值為:

  • AllowLocalAdmin
  • 作者
  • CanShare
  • CanReceive
  • 檢查站
  • CheckpointRestoreOnly
  • 創造
  • CreateFromVHDOrTemplate
  • PauseAndResume
  • RemoteConnect
  • 刪除
  • 關閉
  • 開始
  • 商店

如果您授與 CreateFromVHDOrTemplate 許可權,您也會授與 Create 許可權。 如果您授與 Checkpoint 許可權,您也會授與 CheckpointRestoreOnly 許可權。

類型:SelfServicePermission[]
別名:VMPermission
接受的值:Create, PauseAndResume, Start, Stop, AllowLocalAdmin, RemoteConnect, Remove, Shutdown, Checkpoint, Store, Save, Author, CanShare, CanReceive, CreateFromVHDOrTemplate, CheckpointRestoreOnly, AuthorVMNetwork, CreateShielded
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PROTipID

指定觸發此動作之效能和資源優化提示 (PRO 提示) 的識別碼。 此參數可讓您稽核 PRO 秘訣。

類型:Guid
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveLibraryStoreSharePath

指出此 Cmdlet 會清除自助用戶的使用者角色數據路徑。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveMember

指定此 Cmdlet 從具有成員資格概念的 VMM 物件中移除的成員陣列,例如群組。 例如,此 Cmdlet 可以從使用者角色中移除一或多個 Active Directory Domain Services 網域使用者或群組。 以下欄格式指定成員:

  • 網域\使用者
  • 使用者
  • User@Domain
  • Domain\LabGroupAlias
  • LabGroupAlias

實驗室群組別名是Active Directory網域服務安全組,而不是電子郵件別名。

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveNATConnectionMaximum

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveNATConnectionMaximumPerUser

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveScope

指定要從這個使用者角色成員可以管理的物件範圍中移除的 VMM 物件陣列。

類型:ClientObject[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVMNetworkMaximum

表示此 Cmdlet 會移除虛擬機網路上限設定。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVMNetworkMaximumPerUser

指出此 Cmdlet 會移除每個使用者設定的虛擬機網路上限。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVMNetworkVPNMaximumBandwidthIn

指出此 Cmdlet 會移除連入連線的虛擬專用網 (VPN) 最大頻寬設定。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVMNetworkVPNMaximumBandwidthOut

表示此 Cmdlet 會移除連出連線的 VPN 最大頻寬設定。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVPNConnectionMaximum

表示此 Cmdlet 會移除 VPN 連線上限設定。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RemoveVPNConnectionMaximumPerUser

表示此 Cmdlet 會移除每個用戶設定的 VPN 連線上限。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RunAsynchronously

表示作業會以異步方式執行,讓控件立即返回命令殼層。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ShowPROTips

指出是否要顯示 PRO 秘訣。 此參數僅適用於 Self-Service 使用者角色。

類型:Boolean
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UserRole

指定此 Cmdlet 修改的使用者角色物件。 若要取得使用者角色,請使用 Get-SCUserRole Cmdlet。

類型:UserRole
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-UserRoleDataPath

指定連結庫共用的路徑,Self-Service 使用者角色的成員可用來上傳數據。 以下列格式指定路徑:\LibraryServerName\LibraryShareName。

類型:String
別名:LibraryStoreSharePath
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VMMServer

指定此 Cmdlet 修改使用者角色的 VMM 伺服器。

類型:ServerConnection
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VMNetworkMaximum

指定使用者角色的虛擬機網路數目上限。

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VMNetworkMaximumPerUser

指定使用者的虛擬機網路數目上限。

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VMNetworkVPNMaximumBandwidthInKbps

針對 VPN 的連入流量,指定每秒的頻寬上限千位。

類型:UInt64
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VMNetworkVPNMaximumBandwidthOutKbps

針對 VPN 的連出流量,指定每秒的頻寬上限千位。

類型:UInt64
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VPNConnectionMaximum

指定 VPN 的連線數目上限。

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VPNConnectionMaximumPerUser

指定 VPN 每個使用者的連線數目上限。

類型:UInt16
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸出

UserRole

備註

  • 若要列出您可以為自助使用者指定的所有可用許可權,請輸入下列命令:

PS C:\> [enum]::GetValues([Microsoft.VirtualManager.Remoting.SelfServicePermission])