Criar uma Função sem Escopo
Aplica-se a: Exchange Server 2010
Tópico modificado em: 2009-10-05
Uma função de gerenciamento sem escopo pode ser usada oferecer a administradores e usuários especializados acesso a scripts do Windows PowerShell e cmdlets não-Exchange. Você pode também criar uma função de nível superior sem escopo e adicionar scripts ou cmdlets não-Exchange a essa função ou criar uma função com base em uma função de nível superior sem escopo existente. Após uma função sem escopo ter sido criada e personalizada, ela poderá ser atribuída a grupos de funções de gerenciamento, usuários e grupos de segurança universal (USGs). Funções sem escopo não podem ser atribuídas a diretivas de atribuição de função de gerenciamento. Para obter mais informações sobre funções sem escopo, consulte Entendendo as Funções de Gerenciamento.
Aviso
As funções sem escopo podem ser poderosas porque, como seu próprio nome diz, nenhum escopo de gerenciamento é aplicado a elas. Isso significa que os scripts e os cmdlets não-Exchange que elas contêm podem ser executados para qualquer objeto em sua organização do Exchange. Considere isso ao adicionar scripts ou cmdlets não-Exchange a uma função sem escopo e ao atribuir a função sem escopo.
Dica
Se você quiser criar uma função que contenha cmdlets do Exchange, será preciso criar uma função baseada em uma função de gerenciamento existente. Para obter mais informações sobre como criar funções com cmdlets do Exchange, consulte Criar uma Função.
Procurando outras tarefas de gerenciamento relacionadas a funções? Consulte Gerenciando Permissões Avançadas.
Pré-requisitos
A capacidade de criar funções sem escopo não está incluída em nenhum grupo de funções de gerenciamento por padrão. É preciso primeiro atribuir a função de Gerenciamento de Função sem Escopo a um usuário ou a um grupo de funções ou USG de que o usuário seja membro, antes de o usuário poder criar um grupo de funções. Para mais informações sobre como adicionar uma função a um usuário, USG ou grupo de função, consulte os seguintes tópicos:
O que Você Deseja Fazer?
- Criar uma função de gerenciamento de nível superior sem escopo
- Criar uma função sem escopo com base em outra função sem escopo
Criar uma função de gerenciamento de nível superior sem escopo
Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "Funções de gerenciamento sem escopo" no tópico Função de Gerenciamento de Permissões.
Se quiser disponibilizar scripts ou cmdlets não-Exchange a administradores ou especialistas de sua organização, será preciso criar uma função de nível superior sem escopo. Scripts e cmdlets não-Exchange só podem ser adicionados a uma função sem escopo criada como função de nível superior, porque a função sem escopo inicial não é herdada de outras funções. A nova função de nível superior sem escopo pode ser pai de outras funções sem escopo que podem também usar os scripts adicionados e cmdlets não-Exchange.
Aqui estão as etapas para criar uma função de nível superior sem escopo:
- Etapa 1: Criar a função de nível superior sem escopo: Criar a função de nível superior sem escopo
- Etapa 2a: Adicionar entradas de função de gerenciamento de script: Adicionar entradas de função de gerenciamento de script
- Etapa 2b: Adicionar entradas de função do cmdlet não-Exchange: Adicionar entradas de função do cmdlet não-Exchange
- Etapa 3: Atribuir a função de gerenciamento: Atribuir a função de gerenciamento
Etapa 1: Criar a função de nível superior sem escopo
Funções de nível superior sem escopo não têm uma função pai. É preciso especificar a opção UnscopedTopLevel para criar uma função sem um pai. Use a sintaxe a seguir para criar a nova função.
New-ManagementRole <name of new role> -UnscopedTopLevel
Este exemplo cria a função de nível superior sem escopo de scripts de TI.
New-ManagementRole "IT Scripts" -UnscopedTopLevel
Após ser criada, a função ficará vazia até você adicionar scripts ou cmdlets não-Exchange a ela.
Para informações detalhadas de sintaxes e de parâmetros, consulte New-ManagementRole.
Etapa 2a: Adicionar entradas de função de gerenciamento de script
Se quiser adicionar um script à nova função sem escopo, use esta etapa. Se quiser adicionar um cmdlet não-Exchange à nova função sem escopo, use Etapa 2b: Adicionar entradas de função do cmdlet não-Exchange.
Para adicionar um script do PowerShell do Windows a uma função de nível superior sem escopo, é preciso adicionar uma entrada de função de gerenciamento à função. A entrada de função contém o nome do script e os parâmetros do script que você deseja tornar disponíveis à função.
O script deve residir no diretório Scripts no caminho de instalação do Microsoft Exchange Server 2010 em todos os servidores que executam um Exchange 2010 onde os usuários possam se conectar para executar o script. Se um usuário tiver acesso para executar um script, mas o script não estiver localizado no servidor do Exchange 2010 ao qual o usuário está conectado, ocorre um erro. Por padrão, o caminho para o diretório Scripts é C:\Arquivos de Programas\Microsoft\Exchange Server\V14\Scripts.
Depois de copiar o script para os servidores apropriados do Exchange 2010 e decidir quais parâmetros do script devem ser usados, crie a entrada de função usando a sintaxe a seguir.
Add-ManagementRoleEntry <unscoped top-level role name>\<script filename> -Parameters <parameter 1, parameter 2, parameter...> -Type Script -UnscopedTopLevel
Este exemplo adiciona o script BulkProvisionUsers.ps1 à função Scripts de TI com os parâmetros Name e Location.
Add-ManagementRoleEntry "IT Scripts\BulkProvisionUsers.ps1" -Parameters Name, Location -Type Script -UnscopedTopLevel
Dica
O cmdlet Add-ManagementRoleEntry realiza uma validação básica para garantir que você tenha adicionado apenas os parâmetros existentes no script. Entretanto, nenhuma outra validação é realizada depois que a entrada de função for adicionada. Se parâmetros forem adicionados ou removidos posteriormente, você terá que atualizar manualmente as entradas de função que contenham o script.
Etapa 2b: Adicionar entradas de função do cmdlet não-Exchange
Se quiser adicionar um cmdlet não-Exchange à nova função sem escopo, use esta etapa. Se quiser adicionar um script à nova função sem escopo, use Etapa 2a: Adicionar entradas de função de gerenciamento de script.
Para adicionar um cmdlet que não seja do Exchange a uma função de nível superior sem escopo, é preciso adicionar uma entrada de função de gerenciamento à função. A entrada de função contém o snap-in do cmdlet, o nome do cmdlet e os parâmetros do cmdlet que você deseja tornar disponível à função.
Se você adicionar cmdlets que não sejam do Exchange à nova função, os cmdlets deverão ser instalados em todos os servidores do Exchange 2010 nos quais os usuários possam se conectar para executar os cmdlets. Para aprender a instalar e registrar corretamente os snap-ins do Windows PowerShell que contêm os cmdlets que você deseja usar, consulte a documentação do Produto.
Após instalar o snap-in do Windows PowerShell que contém os cmdlets nos servidores do Exchange 2010 apropriados e decidir quais parâmetros do cmdlet devem ser usados, crie a entrada de função usando a sintaxe a seguir.
Add-ManagementRoleEntry <unscoped top-level role name>\<cmdlet name> -PSSnapinName <snap-in name> -Parameters <parameter 1, parameter 2, parameter...> -Type Cmdlet -UnscopedTopLevel
Este exemplo adiciona o cmdlet Set-WidgetConfiguration no snap-in Contoso.Admin.Cmdlets à função Widget Cmdlets com os parâmetros Database e Size.
Add-ManagementRoleEntry "Widget Cmdlets\Set-WidgetConfiguration" -PSSnapinName Contoso.Admin.Cmdlets -Parameters Database, Size -Type Cmdlet -UnscopedTopLevel
Dica
O cmdlet Add-ManagementRoleEntry realiza uma validação básica para garantir que você tenha adicionado apenas os parâmetros existentes no cmdlet. Entretanto, nenhuma outra validação é realizada depois que a entrada de função for adicionada. Se o cmdlet for alterado posteriormente, e se parâmetros forem adicionados ou removidos, você terá que atualizar manualmente as entradas de função que contenham o cmdlet.
Etapa 3: Atribuir a função de gerenciamento
A etapa final ao criar e configurar uma função é atribuí-la a um destinatário de função.
Importante
Os escopos de gerenciamento não podem ser configurados em atribuições de função que atribuam uma função sem escopo. Ao escolher criar uma atribuição de função para um grupo de função, usuário ou USG, é preciso escolher a opção para criar uma atribuição de função sem um escopo de gerenciamento.
É possível atribuir a nova função a um grupo de função, usuário ou USG. Para obter mais informações, consulte os tópicos a seguir:
Criar uma função sem escopo com base em outra função sem escopo
Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "funções de gerenciamento" no tópico Função de Gerenciamento de Permissões.
Se tiver uma função de nível superior sem escopo existente ou outras funções sem escopo que queira ter como base para novas funções sem escopo, você poderá criar funções sem escopo filhas. Essas funções podem conter um subconjunto dos scripts e cmdlets existentes nas funções sem escopo pai. Isso será útil, por exemplo, se você quiser fornecer apenas um subconjunto dos scripts ou cmdlets disponíveis em uma função sem escopo pai a um administrador menos experiente.
Aqui estão as etapas para criar uma função sem escopo filha:
- Etapa 1: Criar a função filha sem escopo: Criar a função filha sem escopo
- Etapa 2: Alterar as entradas de função de gerenciamento da função: Alterar as entradas de função de gerenciamento da função
- Etapa 3: Atribuir a função de gerenciamento: Atribuir a função de gerenciamento
Etapa 1: Criar a função filha sem escopo
Funções novas filhas sem escopo podem ter como base funções sem escopo existentes. Quando você cria uma função, uma função existente e suas entradas de função de gerenciamento são copiadas para a nova função. A função existente se torna pai da nova função filha. Se você criar uma função sem escopo que tenha como base outra função sem escopo, será preciso escolher uma função que tenha todos os cmdlets e parâmetros que precisa usar e remover os que não quer usar. As funções sem escopo filhas não podem ter entradas de função de gerenciamento que não existem na função pai.
Dica
Se for preciso criar uma função sem escopo que tenha scripts ou cmdlets não-Exchange que não existam em nenhuma outra função sem escopo, crie uma função de nível superior sem escopo. Para obter mais informações, consulte Criar uma função de gerenciamento de nível superior sem escopo, anteriormente neste tópico.
Use a sintaxe a seguir para criar a nova função.
New-ManagementRole -Parent <existing unscoped role to copy> -Name <name of new unscoped role>
Este exemplo copia a função de Scripts Globais de TI e suas entradas de função de gerenciamento para a função de Scripts de TI de Diagnóstico.
New-ManagementRole -Parent "IT Global Scripts" -Name "Diagnostic IT Scripts"
Para informações detalhadas de sintaxes e de parâmetros, consulte New-ManagementRole.
Etapa 2: Alterar as entradas de função de gerenciamento da função
Depois de criar sua função, você terá que alterar as entradas da função. Você pode remover toda a entrada da função, que remove o acesso ao script associado ou cmdlet não-Exchange completamente. Ou pode remover os parâmetros de uma entrada de função para remover o acesso aos parâmetros específicos no script associado ou cmdlet não-Exchange.
Não é possível adicionar entradas ou parâmetros em entradas de função, a menos que existam na função pai. Como você acabou de criar uma função a partir de uma função pai na Etapa 1, não poderá adicionar nenhuma entrada de função ou parâmetro extra nas entradas de função, pois eles não existem na função pai.
Ao alterar uma entrada de função em uma função, você pode realizar um destes procedimentos:
- Remover uma única entrada de função inteira.
- Remover várias entradas de função inteiras.
- Remover parâmetros de uma entrada de função.
Para remover entradas de função de sua nova função, consulte Remover uma Entrada de Função de uma Função.
Etapa 3: Atribuir a função de gerenciamento
A etapa final ao criar e configurar uma função é atribuí-la a um destinatário de função.
Importante
Os escopos de gerenciamento não podem ser configurados em atribuições de função que atribuam uma função sem escopo. Ao escolher criar uma atribuição de função para um grupo de função, usuário ou USG, é preciso escolher a opção para criar uma atribuição de função sem um escopo de gerenciamento.
É possível atribuir a nova função a um grupo de função, usuário ou USG. Para obter mais informações, consulte os tópicos a seguir: