Runbook - Criação de usuário via Service Manager (pt-BR)
Visão Geral
Neste procedimento irei demonstrar como criar um Runbook para automatizar a criação de um usuário, posteriormente iremos utilizer esse Runbook com integração do Service Manager 2012.
Criando o Runbook
Inicie o Runbook com uma atividade Initialize Data.
Clique sobre a atividade "Initialize Data", insira um parametro clicando sobre "Add", que será utiliziada para coletar o ID da Atividade de automação do Service manager e clique em "Finish".
Insira uma atividade "Get Object" do Service Manager, e faça uma ligação partindo da atividade "Initialize Data" para a atividade "Get Object".
Clique sobre a atividade "Get Object", em connections insira sua conexão com o Service Manager, em Class insira a classe que foi alterada via Authoring tool (Será mostrado em um próximo tutorial). Clique em Add e associe o "SC Object Guid" com o parâmetro criado na atividade anterior "Initialize Data".
Inisra um atividade "Get Relationship" do Service Manager, e faça uma ligação partindo da atividade "Get Object" para a atividade "Get Relationship".
Clique sobre a atividade "Get Relationship", em Connections insira sua conexão com Service Manager, em Object CLass insira "Runbook Automation Activity", em Object Guid clique com o botão direito do mouse escolha "Subscribe > published data" e escolha SC Object Guid da aividade anterior, em Related Class selecione "Provisionamento_Usuario".
Insira um nova atividade "Get Object" do Service Manager.
Em Connectin insira sua conexão com o Service Manager, em Class escolha "Provisionamento_Usuario" e em Filter insira um filtro "SC Object Guid" Equals "Related Object Guid from Get Relationship".
Insira a atividade "Run .Net Script". Essa atividade será utilizada para chamar um script powershell que armazenara em uma variavel Container que será utilizado para saber em qual container do Active Directory o usuário será armazenado.
Em Type selecione PowerShell, no campo Script insira o script:
* $departamento = "{Departamento from "Get Object (2)}"
switch ($departamento)
{
'Recursos Humanos' {$container = "OU=Usuarios,OU=RH,OU=Departamentos,DC=lab,DC=local"}
'TI' {$container = "OU=Usuarios,OU=TI,OU=Departamentos,DC=lab,DC=local"}
'Administrativo' {$container = "OU=Usuarios,OU=Administrativo,OU=Departamentos,DC=lab,DC=local"}
}
Esse script será utilizado para armazenar na váriavel container o caminho que o usuário devera ser armazenado no Active Directory.
Ainda na atividade, clique em "Published Data" e insira os dados de acordo com a figura abaixo.
Insira uma nova atividade de Script, que será utilizado para criar uma variavel que deverá ser publicada com a primeira letra do nome que será utilizado para formar o SamAccountName do usuário (Primeira letra do nome + sobrenome).
Em Type selecione PowerShell, no campo Script insira o script:
* $a = "{PrimeiroNome from "GetObject(2)"}"
$b = $a.split(" ")
$nome = ""
Foreach ($name in $b){
$d=$name.Length
if ($d -gt 2) {($nome=$nome+$name.Substring(0,1))}}
$nome
*
Esse script armazenara na variavel nome a primeira letra do nome informado pelo service request do service manager.
Selecione Published Data e insira uma Publish Data com a informação nome.
Insira um nova atividade de script para armazenar em uma variavel o sobrenome do usuário, utilize o seguinte script para essa atividade:
* $a = "{sobrenome from "Get Object(2)}"
$b = $a.split(" ")
$sobrenome = $b[0]
*
Insira uma atividade "Create User" do Active Directory.
Clique sobre a atividade Create User, em Name insira sua conexão com o Active directory, e configure os campos de acordo com as informações abaixo:
Common Name: {PrimeiroNome from "Get Object(2)"}
Department: {Departamento from "Get Object(2)"}
LastName: {Sobrenome from "Get Object(2)"}
Email: {Email from "Get Object(2)"}
SAM Account Name: {nome from "Script nome"}{sobrenome from "Script sobrenome"}
Container Distinguisehd Name: {container from "Script container"}
Password: *********
User Must Change Password true
Insira uma atividade Enable user do Active Directory.
Em name selecione sua conexão do Active Directory e em Distinguished Name selecione {Distinguished Name from "Create User"}
Insira uma atividade "compare values" e uma "Add User to Group".
Na atividade "Compare Values", faça a comparação:
{Departamento from "Get Object(2)} is equal to RH
Na Atividade "Add user to Group", em Name insira sua conexão com o Active Directory e configure as propriedades:
Group Distinguished Name: CN=GG_RH,OU=Usuarios,OU=RH,OU=Departamentos,DC=lab,DC=local
User Distinguished Neme: {Distinguished Name From "Create User"}
Repita as ultimas utividades para cada departamento dentro da empresa.
Conclusão do Runbook
O Runbook final deverá ser concluído de acordo com a imagem a seguir, lembrando que os fluxos verdes são atividades com sucesso e os vermelhso atividades concluidas com falha.
Atividade 1: Associar ID da atividade de automação do Service Manager com o Runbook.
Atividade 2: Obter todos os dados da atividade de automação.
Atividade 3: Identifica qual a solicitação de serviço.
Atividade 4: Obter todos os dados da solicitação de serviço.
Atividade 5: Script para coletar o departamento e criar um dado para informar o container do usuário.
Ativiidade 6: Script para coletar a primeira Letra do usuário.
Atividade 7: Script para coletar o sobrenome do usuário.
Atividade 8: Criar o usuário.
Atividade 9: Habilitar o usuário.
Atividade 10: Verificar se o usuário e do departamento RH.
Atividade 11: Adicionar o usuário ao grupo RH.
Atividade 12: Verificar se o usuário e do departamento TI
Atividade 13: Adicionar o usuário ao grupo TI.
Atividade 14: Verificar se o usuário e do departamento Administrativo.
Atividade 15: Adicionar o usuário ao grupo Administrativo.
Este artigo foi originalmente escrito por:
Lucas Camargo Reis
blog: http://mscloud365.wordpress.com