none
Alterar usuários em lote RRS feed

  • Pergunta

  • Boa tarde,

    Preciso adicionar algumas informações nos meus usuários existentes, por exemplo, cidade, departamento, etc.

    Existe alguma algum script pra fazer isso? Pois são muitos usuários.

    Obrigado,

    • Movido Paul Haro segunda-feira, 9 de abril de 2012 17:57 Fórum incorreto (De:Windows Server 2008)
    segunda-feira, 9 de abril de 2012 17:52

Respostas

  • Michel Sena, salve o arquivo abaixo no formato de powershell, em seguida edite ele inserindo  informações do seu ambiente, o script abaixo serve para alterar departamento do AD em massa.

    #Example:get-QADUser -searchRoot solfarma -searchscope "Onelevel" | Set-QADUser -department "TI"
    
    param([string] $OU = $(throw write-host "Please specify the OU under which accounts should be queried from. Por Favor especifique a UO onde deve ser realizada a busca dos usuários" -Foregroundcolor Red), [int] $Scope = $(throw write-host "Please specify the Scope of the search: 1-OneLevel 2-Subtree. Por favor especifique o Escopo da perquisa: 1-OneLevel 2-Subtree" -Foregroundcolor Red), [string] $Department = $(throw write-host "Informe o Departamento"))
    
    $SearchScope
    
    if ($Scope -eq 1)
    {
    	$SearchScope = "OneLevel"
    }
    else
    {
    	$SearchScope = "Subtree"
    }
    
    get-QADUser -searchRoot $OU -searchscope $SearchScope | Set-QADUser -department $Department

    • Marcado como Resposta Michel Sena segunda-feira, 9 de abril de 2012 19:48
    segunda-feira, 9 de abril de 2012 19:01

Todas as Respostas

  • Boa Tarde Michel,

    Acredito que possa te ajudar, mas peço que encerre esse post e abra na categoria scripts. E nesse caso, tire o etc,,,, e coloca o que realmente precisa ser alterado e com mais detalhes.

    Obrigado.


    Rafael S. AMARAL
    U. P. Mackenzie


    segunda-feira, 9 de abril de 2012 17:58
  • Michel,

    No seu caso eu sugeria que os usuários fizessem essas alterações, com isso o processo é bem mais rapido, você poderia configurar no Script de logon ou ate mesmo deixar na intranet, o usuário entra em faz as alterações. Para começarmos a adaptar o seu ambiente, copie o arquivo abaixo e salve com extensão .hta.


    Nesse caso, você deverá dar permissão no AD para que os usuários tenham acesso para modificar. (Se você fizer teste agora, só vai funcionar para os Administradores do Dominio e/ou para quem ja tem a permissão).




    <HTML>
     <HEAD>
     <TITLE>POR FAVOR, ATUALIZE SUAS INFORMAÇÕES</title>
     <HTA:APPLICATION
     ApplicationName="Gerasenha.HTA"
     SingleInstance="Yes"
     WindowsState="Normal"
     Scroll="No"
     Navigable="Yes"
     MaximizeButton="No"
     SysMenu="Yes"
     Caption="Yes"
     ></HEAD>
     
    <SCRIPT LANGUAGE="VBScript">
     
    Sub Window_Onload
     '# Size Window
     sHorizontal = 740
     sVertical = 490
     Window.resizeTo sHorizontal, sVertical
     '# Get Monitor Details
     Set objWMIService = GetObject _
     ("winmgmts:root\cimv2")
     intHorizontal = sHorizontal *2
     intVertical = sVertical *2
     Set colItems = objWMIService.ExecQuery( _
     "Select ScreenWidth, ScreenHeight from" _
     & " Win32_DesktopMonitor", , 48)
     For Each objItem In colItems
     sWidth= objItem.ScreenWidth
     sHeight = objItem.ScreenHeight
     If sWidth > sHorizontal _
     then intHorizontal = sWidth
     If sHeight > sVertical _
     then intVertical = sHeight
     Next
     Set objWMIService = Nothing
     '# Center window on the screen
     intLeft = (intHorizontal - sHorizontal) /2
     intTop = (intVertical - sVertical) /2
     Window.moveTo intLeft, intTop
     '# default window content
     window.location.href="#Top"
     
    End Sub
     
    
    Sub RunScript
     on Error Resume Next
     
    lRet = True
     
    Set oADSystemInfo = CreateObject("ADSystemInfo") 
    Set oADsUser = GetObject("LDAP://" & oADSystemInfo.UserName) 
    usuario = MID(oAdsUser.Name,4,Len(oAdsUser.Name))
     
    strTelefone = telefone.Value
     strDepartamento = departamento.value
     strCidade = cidade.value
     strEndereco = endereco.value
     strCelular = celular.value
     
    if strdepartamento = "_Blank" Then
        msgBox(" Por favor selecione o departamento")
        lRet = False
     End if
     
    if strCidade = "_Blank" Then
        msgbox("Por favor selecione a cidade")
        lRet = False
     End if
     
    if strEndereco = "_Blank" Then
        msgbox("Por favor selecione o endereco")
        lRet = False
     End if
     
    
    if lRet = True Then
        oADsUser.L = strCidade
        oADsUser.TelephoneNumber = strTelefone
        oADsUser.Department = strDepartamento
        oADsUser.streetAddress = strEndereco
        oADsUser.mobile = strCelular
        oADsUser.SetInfo
        msgbox(usuario & ", muito obrigado pelas informações. Tecnologia da Informação")
     
       Set oShell = Nothing
        Set objNetwork = Nothing
        Self.Close()
     End if
     
    End Sub
     
    
    Sub CancelScript
     Set oShell = Nothing
     Set objNetwork = Nothing
     Self.Close()
     End Sub
     
    </SCRIPT>
     
    
    <BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000001', EndColorStr='#0000FF')">
     <a name="Top"></a><CENTER>
     <table border="0" cellpadding="0" cellspacing="0"><font size="2" color="black" face="Arial">
     
    <tr>
     <td height="35">
     <p align="right">Telefone Corporativo (ex: 55 xx xxxx-xxxx)</p>
     </td>
     <td height="30">&nbsp;&nbsp; <input type="text" name="telefone" size="20"></td></tr>
     
    
    <tr>
     <td height="35">
     <p align="right">Celular Corporativo (ex: 55 xx xxxx-xxxx)</p>
     </td>
     <td height="30">&nbsp;&nbsp; <input type="text" name="celular" size="20"></td></tr>
     
    
    <tr>
     <td height="30">
     <p align="right">Departamento</p>
     </td>
     <td height="30">
          &nbsp;&nbsp;   
         <select name="departamento">
      <option value="_Blank">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  </option>
     
        <option value="Administrativo">Administrativo</option>
         <option value="Arquitetura">Arquitetura</option>
         <option value="Auditoria">Auditoria</option>
         <option value="Comercial">Comercial</option>
     
        <option value="Contabilidade">Contabilidade</option>
         <option value="Contas a Pagar">Contas a Pagar</option>
         <option value="Contas a Receber">Contas a Receber</option>
         <option value="Departamento Pessoal">Departamento Pessoal</option>
     
        <option value="Jurídico">Jurídico</option>
         <option value="Logística">Logística</option>
         <option value="Manutenção">Manutenção</option>
         <option value="Marketing">Marketing</option>
         <option value="Operações">Operações</option>
         <option value="Portaria">Portaria</option>
     
        <option value="Qualidade">Qualidade</option>
         <option value="Recursos Humanos">Recursos Humanos</option>
         <option value="Supply Chain">Supply Chain</option>
         <option value="Tecnologia da Informação">Tecnologia da Informação</option>
         <option value="Tesouraria">Tesouraria</option>
         <option value="Visual Merchandising">Visual Merchandising</option>
     
      </select>
     </td></tr>
     
    
    <tr>
     <td height="30">
     <p align="right">Endereco</p>
     </td>
     <td height="30">
          &nbsp;&nbsp;   
         <select name="Endereco">
      <option value="_Blank">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  </option>
     
        <option value="xxxxxxxxxxxxx">MATRIZ</option>
         <option value="xxxxxxxxxxxx">Filial 1</option>
         <option value="xxxxxxxxxxxxxxx">Filial 2</option>
     
      </select>
     </td></tr>
     
    
    <tr>
     <td height="30">
     <p align="right">Cidade</p>
     </td>
     <td height="30">
          &nbsp;&nbsp;   
         <select name="cidade">
         <option value="_Blank">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp;  </option>
         <option value="xxxxx" size="30">Cidade 1</option>
         <option value="xxxxx">Cidade 2</option>
       </select>
     </td></tr>
     
    </table><BR>
     <HR color="#0000FF">
     <Input id=runbutton class="button" type="button" value=" OK " name="run_button" onClick="RunScript">
     &nbsp;&nbsp;&nbsp;
     <Input id=runbutton class="button" type="button" value="Cancel" name="cancel_button" onClick="CancelScript">
     </CENTER>
     </BODY>
     
    </HTML>
    




    Rafael S. AMARAL
    U. P. Mackenzie



    segunda-feira, 9 de abril de 2012 18:27
  • Michel Sena, salve o arquivo abaixo no formato de powershell, em seguida edite ele inserindo  informações do seu ambiente, o script abaixo serve para alterar departamento do AD em massa.

    #Example:get-QADUser -searchRoot solfarma -searchscope "Onelevel" | Set-QADUser -department "TI"
    
    param([string] $OU = $(throw write-host "Please specify the OU under which accounts should be queried from. Por Favor especifique a UO onde deve ser realizada a busca dos usuários" -Foregroundcolor Red), [int] $Scope = $(throw write-host "Please specify the Scope of the search: 1-OneLevel 2-Subtree. Por favor especifique o Escopo da perquisa: 1-OneLevel 2-Subtree" -Foregroundcolor Red), [string] $Department = $(throw write-host "Informe o Departamento"))
    
    $SearchScope
    
    if ($Scope -eq 1)
    {
    	$SearchScope = "OneLevel"
    }
    else
    {
    	$SearchScope = "Subtree"
    }
    
    get-QADUser -searchRoot $OU -searchscope $SearchScope | Set-QADUser -department $Department

    • Marcado como Resposta Michel Sena segunda-feira, 9 de abril de 2012 19:48
    segunda-feira, 9 de abril de 2012 19:01