Condividi tramite


Get-CsAdminRole

 

Ultima modifica dell'argomento: 2012-03-23

Restituisce informazioni sui ruoli RBAC (Role-Based Access Control) utilizzati nell'organizzazione. I ruoli RBAC consentono di specificare le attività di gestione consentite agli utenti e di determinare l'ambito in cui gli utenti potranno eseguire tali attività.

Sintassi

Get-CsAdminRole [-Identity <String>] [-LocalStore <SwitchParameter>]

Get-CsAdminRole [-Sid <String>] [-LocalStore <SwitchParameter>]

Get-CsAdminRole [-Filter <String>] [-LocalStore <SwitchParameter>]

Descrizione dettagliata

Il controllo di accesso basato sui ruoli (RBAC) consente agli amministratori di delegare il controllo di specifiche attività di gestione in Microsoft Lync Server 2010. Ad esempio, invece di concedere privilegi di amministrazione completi agli addetti al supporto tecnico dell'organizzazione, è possibile assegnare a tali dipendenti diritti molto specifici, tra cui il diritto di gestire solo gli account utente, solo i componenti di VoIP aziendale e solo l'archiviazione e il Server di archiviazione. Inoltre, tali diritti possono essere limitati nell'ambito: ad alcuni dipendenti può essere concesso il diritto di gestire VoIP aziendale, ma solo nel sito di Redmond, mentre ad altri può essere concesso il diritto di gestire gli utenti, ma solo se tali account utente sono nell'unità organizzativa Finance.

L'implementazione del controllo di accesso basato sui ruoli in Lync Server 2010 è incentrata su due elementi chiave, i gruppi di protezione di Active Directory e i cmdlet di Windows PowerShell. Quando si installa Lync Server 2010, vengono creati automaticamente diversi gruppi di sicurezza universali, tra cui CsAdministrator, CsArchivingAdministrator e CsViewOnlyAdministrator. Questi gruppi di protezione universali presentano una corrispondenza uno-a-uno con i ruoli RBAC, pertanto ogni utente presente nel gruppo di protezione CsArchivingAdministrator possiede tutti i diritti concessi al ruolo RBAC di CsArchivingAdministrator. A loro volta, i diritti concessi ad un ruolo RBAC si basano sui cmdlet assegnati a tale ruolo (i cmdlet possono essere assegnati a ruoli RBAC multipli). Si supponga, ad esempio, che un ruolo sia stato assegnato ai seguenti cmdlet:

Get-ArchivingPolicy

Grant-ArchivingPolicy

New-ArchivingPolicy

Remove-ArchivingPolicy

Set-ArchivingPolicy

Get-ArchivingConfiguration

New-ArchivingConfiguration

Remove-ArchivingConfiguration

Set-ArchivingConfiguration

Get-CsUser

Export-CsArchivingData

Get-CsComputer

Get-CsPool

Get-CsService

Get-CsSite

Nell'elenco precedente sono riportati solo i cmdlet che possono essere eseguiti da un utente a cui è stato assegnato un ipotetico ruolo RBAC in una sessione remota di Windows PowerShell. Se l'utente tenta di eseguire il cmdlet Disable-CsUser, il comando avrà esito negativo. Ciò accade perché gli utenti a cui è stato assegnato il ruolo ipotetico non dispongono del diritto di eseguire Disable-CsUser. Questa regola si applica anche al Pannello di controllo di Lync Server. Ad esempio, un amministratore dell'archiviazione non può disabilitare un utente utilizzando il Pannello di controllo di Lync Server, in quanto il Pannello di controllo di Lync Server si attiene ai ruoli RBAC. Ogni volta che si esegue un comando nel Pannello di controllo di Lync Server si effettua effettivamente una chiamata del cmdlet di Windows PowerShell. Se non si è autorizzati a eseguire Disable-CsUser, non avrà alcuna importanza se si esegue direttamente il cmdlet da una sessione remota di Windows PowerShell o se lo si esegue indirettamente nel Pannello di controllo di Lync Server. Il comando avrà comunque esito negativo.

RBAC si applica solo alla gestione remota. Se si è connessi a un computer in cui è in esecuzione Lync Server 2010 e si apre Lync Server Management Shell, i ruoli RBAC non verranno applicati. La protezione viene invece garantita principalmente tramite i gruppi di protezione RTCUniversalServerAdmins, RTCUniversalUserAdmins e RTCUniversalReadOnlyAdmins.

Quando si installa Lync Server 2010, vengono creati diversi ruoli RBAC predefiniti. Tali ruoli riguardano aree amministrative comuni quali l'amministrazione vocale, la gestione degli utenti e l'amministrazione di Response Group. Questi ruoli predefiniti non possono essere in alcun modo modificati: non è possibile aggiungere o rimuovere cmdlet dai ruoli e non è possibile eliminare tali ruoli. Qualsiasi tentativo di eliminare un ruolo predefinito genererà un messaggio di errore. Tuttavia, è possibile utilizzare i ruoli predefiniti per creare ruoli RBAC personalizzati. Questi ruoli personalizzati possono quindi essere modificati cambiando gli ambiti amministrativi. Ad esempio, è possibile limitare il ruolo alla gestione degli account utente con una determinata unità organizzativa di Active Directory.

Il cmdlet Get-CsAdminRole restituisce informazioni su tutti i ruoli RBAC disponibili per l'utilizzo nell'organizzazione.

Utenti autorizzati a eseguire il cmdlet: per impostazione predefinita, sono autorizzati a eseguire localmente il cmdlet Get-CsAdminRole i membri dei seguenti gruppi: RTCUniversalUserAdmins, RTCUniversalServerAdmins, RTCUniversalReadOnlyAdmins. Per restituire un elenco di tutti i ruoli RBAC ai quali è stato assegnato questo cmdlet (inclusi eventuali ruoli RBAC personalizzati creati dall'utente), eseguire il comando seguente dal prompt di Windows PowerShell:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Get-CsAdminRole\b"}

Parametri

Parametro Obbligatorio Tipo Descrizione

Identity

Facoltativo

Stringa

Identificatore univoco per il ruolo RBAC da restituire. L'identità per un ruolo RBAC deve corrispondere a quella di SamAccountName per il gruppo di protezione universale di Active Directory associato a tale ruolo. Ad esempio, il ruolo Help Desk ha un valore Identity uguale a CsHelpDesk e CsHelpDesk è anche il valore SamAccountName del gruppo di sicurezza di Active Directory associato a tale ruolo.

Filter

Facoltativo

Stringa

Consente di utilizzare caratteri jolly per specificare il ruolo o i ruoli RBAC da restituire. Ad esempio, per restituire tutti i ruoli che includono il valore stringa "Redmond" nel parametro Identity, è possibile utilizzare la seguente sintassi: -Filter "*Redmond*".

Sid

Facoltativo

ID di sicurezza

Consente di utilizzare un ID di sicurezza (SID) per specificare il ruolo RBAC da recuperare. I SID vengono assegnati da Lync Server 2010 al momento della creazione del ruolo RBAC e sono simili a quello riportato di seguito: S-1-5-21-1573807623-1597889489-1765977225-1145.

Lo stesso SID è disponibile anche nel gruppo di sicurezza di Active Directory.

LocalStore

Facoltativo

Parametro opzionale

Recupera i dati RBAC dalla replica locale dell'archivio di gestione centrale anziché dall'archivio di gestione centrale stesso.

Tipi di input

Nessuno.

Tipi restituiti

Get-CsAdminRole restituisce istanze dell'oggetto Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role.

Esempio

-------------------------- Esempio 1 ------------------------

Get-CsAdminRole

Il comando mostrato nell'esempio 1 consente la restituzione di informazioni relative a tutti i ruoli RBAC configurati per l'utilizzo nell'organizzazione. A tale scopo, viene chiamato Get-CsAdminRole senza alcun parametro.

-------------------------- Esempio 2 ------------------------

Get-CsAdminRole -Identity "CsHelpDesk"

Nell'esempio 2 viene restituito un unico ruolo RBAC, ovvero il ruolo con parametro Identity CsHelpDesk.

-------------------------- Esempio 3 ------------------------

Get-CsAdminRole -Filter "*Voice*"

Con il comando precedente vengono restituiti tutti i ruoli RBAC con valore stringa "Voice" in un punto qualsiasi del parametro Identity, ad esempio CsVoiceAdministrator o RedmondVoiceAdministrators. A tale scopo, viene chiamato Get-CsAdminRole con il parametro Filter. Il valore di filtro "*Voice*" limita i dati restituiti ai ruoli RBAC con valore stringa "Voice" in un punto qualsiasi del parametro Identity.

-------------------------- Esempio 4 ------------------------

Get-CsAdminRole | Where-Object {$_.IsStandardRole -eq $False}

Nell'esempio 4 vengono restituiti tutti i ruoli RBAC personalizzati creati per l'utilizzo nell'organizzazione. Per eseguire questa attività, nel comando viene innanzitutto utilizzato Get-CsAdminRole per restituire una raccolta di tutti i ruoli RBAC attualmente in uso. Tale raccolta viene quindi inviata tramite pipe al cmdlet Where-Object, che seleziona solo i ruoli in cui la proprietà IsStandardRole è uguale a False. Per definizione, ogni ruolo che soddisfa tale criterio è un ruolo RBAC personalizzato.

-------------------------- Esempio 5 ------------------------

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Set-CsUser\b"}

Con il comando mostrato nell'esempio 5 vengono restituiti tutti i ruoli RBAC che includono il cmdlet Set-CsUser. A tale scopo, nel comando viene innanzitutto chiamato Get-CsAdminRole senza alcun parametro per restituire una raccolta di tutti i ruoli RBAC configurati nell'organizzazione. La raccolta viene quindi inviata tramite pipe a Where-Object, che seleziona qualsiasi ruolo in cui la proprietà Cmdlets include il valore stringa "Set-CsUser\b". \b è un indicatore di confine di parola che segnala che "Set-CsUser" rappresenta l'intero valore stringa.

-------------------------- Esempio 6 ------------------------

Get-CsAdminRole | Where-Object {$_.UserScopes -match "OU: ou=Redmond,dc=litwareinc,dc=com"}

Nell'esempio 6 vengono restituite informazioni su tutti i ruoli RBAC che includono l'unità organizzativa specificata (ou=Redmond, dc=litwareinc, dc=com) nella proprietà UserScopes. Per eseguire questa attività, nel comando viene innanzitutto chiamato Get-CsAdminRole per restituire una raccolta di tutti i ruoli RBAC attualmente configurati per l'utilizzo. La raccolta viene quindi inviata tramite pipe a Where-Object, che seleziona tutti i ruoli che includono il valore stringa "OU:ou=Redmond,dc=litwareinc,dc=com" nella proprietà UserScopes.

-------------------------- Esempio 7 ------------------------

Get-CsAdminRole -Identity "CsVoiceAdministrator" | Select-Object -ExpandProperty Cmdlets

Con il comando precedente viene restituito un elenco di tutti i cmdlet inclusi nel ruolo CsVoiceAdministrator. A tale scopo, nel comando viene innanzitutto utilizzato Get-CsAdminRole per restituire tutte le proprietà e i relativi valori per CsVoiceAdministrator. Le informazioni vengono quindi inviate tramite pipe al cmdlet Select-Object, che utilizza il parametro ExpandProperty per visualizzare tutti gli elementi contenuti nella proprietà Cmdlets.