none
Inserir Informações RRS feed

  • Pergunta

  • Boa tarde,

    Alguém sabe de um script em que, quando um usuário fazer o logon na rede, apareça um campo para ele digitar uma informação no campo "Descrição" do AD, mas no campo Descrição da conta de computador.

    Por exemplo: Hoje na minha rede, tenho quase 1000 maquinas, e dessas maquinas eu não sei exatamente quais são Notebooks e quais são Computadores. Sei que com um inventario eu conseguiria essa informação, mas se no campo "Descrição" do computador tivesse essa informação já me ajudaria muito.

    Ou seja, usuário loga na rede, aparece um campo para ele digitar algo do tipo: "Você possui um desktop ou notebook?" Dai ele digita e salva essa informação nesse campo do AD, na conta de computador.

    Obrigado pela ajuda.

    quarta-feira, 29 de abril de 2015 18:14

Respostas

  • Paulo

    Bom dia.

    Vamos por partes.

    1 - Sim é possível, já esta parametrizado no script abaixo.

    2 - Sim, você pode criar um ponto de controle, baseado na conta do usuário, talvez não seja a melhor forma, mais é eficiente. Já esta adaptado no script, basta criar uma pasta aonde o log de controle de execução será gravado.

    3 - Aqui você terá que realizar um processo cultural, ou seja alinhar com seus usuários que a informação que eles iram digitar esteja relacionado a informação que você deseja levar para o seu AD, "Notebook" ou "Desktop", ou pode ser colocado uma consulta WMI para levantar na BIOS o modelo do equipamento, ai você montaria um de para, para extrair a informação se o modelo é de um desktop ou de um notebook.

    Script.

    Set WshNetwork = CreateObject("WScript.Network")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
      ComputerName  =  WshNetwork.ComputerName
      struser = WshNetwork.UserName
    
    sFileName = "c:\temp\" & struser & ".log" 'Caminho do log de controle, pode ser local na maquina se o seu usuário tiver o direito de gravar local, ou um caminho de rede.
    
    If Not objFSO.FileExists(sFileName) Then
    	Do While strvalor=""	
    		strvalor = InputBox ("Digite aqui" & vbCrLf & "Type Here","Controle de equipamentos")
    		If VarType(strvalor) = 0 Then WScript.Quit
    	Loop 
    	
    	strArquivo = "c:\equipamentos.log" 'Caminho do log, passe um compartilhamento na sua rede aonde os usuários tenham direitos de gravar.
    
    	Set objTextFile = objFSO.OpenTextFile(strArquivo, 8, True)
    	    objTextFile.WriteLine Trim(struser & ";" & ComputerName & ";" & strvalor)
    	    objTextFile.Close	
    
    	Set objFile = objFSO.createtextfile(sFileName)
     Else
    	WScript.Quit(0)
    End If


    Your potential. Our passion - Microsoft

    quarta-feira, 6 de maio de 2015 13:48
  • Leandro,

    Vou testar, mas acredito que agora vai funcionar. Uma adaptação ou outra, e dará certo.

    Valeu.

    sexta-feira, 8 de maio de 2015 15:51

Todas as Respostas

  • Paulo

    Boa tarde, pensando em segurança, vejo que não seria o melhor caminho abrir permissão para os usuários escreverem direto no seu Ad, vc pode colocar uma chamada no logon script dos usuários ou via GPO uma chamada para o script abaixo e nele os usuários gravariam as informações que vc necessita e depois vai script vc realiza a carga no seu AD.

    Set WshNetwork = CreateObject("WScript.Network")
      ComputerName  =  WshNetwork.ComputerName
      struser = WshNetwork.UserName
    
    strvalor = InputBox ("Digite aqui","Controle de equipamentos")
    strArquivo = "c:\equipamentos.log" 'Caminho do log, passe um compartilhamento na sua rede aonde os usuários tenham direitos de gravar.
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(strArquivo, 8, True)
    
        objTextFile.WriteLine Trim(struser & ";" & ComputerName & ";" & strvalor)
        objTextFile.Close


    Your potential. Our passion - Microsoft

    sábado, 2 de maio de 2015 17:44
  • Leandro,

    Vou testar e volto a postar os resultados. Caso eu tenha alguma duvida eu lhe informo.

    Obrigado pela ajuda.

    segunda-feira, 4 de maio de 2015 15:30
  • Leandro,

    Testei e esta funcionando o script. Algumas duvidas:

    1-Gostaria de colocar também, alem da mensagem em português, colocar em inglês. Como faço? Gostaria de colocar logo abaixo, alinhada com a mensagem em português.

    2-É possível, assim que um usuário inserir a informação, o script não aparecer mais para ele? Porque se ele logar hoje e inserir as informações, amanha quando ele logar, vai aparecer de novo.

    3-Como faço para importar para o AD a informação de que a maquina é um NOTEBOOK ou DESKTOP? Porque no resultado, ele traz, usuário;nomedamaquina;modelo

    Obrigado.

    terça-feira, 5 de maio de 2015 14:07
  • Paulo

    Bom dia.

    Vamos por partes.

    1 - Sim é possível, já esta parametrizado no script abaixo.

    2 - Sim, você pode criar um ponto de controle, baseado na conta do usuário, talvez não seja a melhor forma, mais é eficiente. Já esta adaptado no script, basta criar uma pasta aonde o log de controle de execução será gravado.

    3 - Aqui você terá que realizar um processo cultural, ou seja alinhar com seus usuários que a informação que eles iram digitar esteja relacionado a informação que você deseja levar para o seu AD, "Notebook" ou "Desktop", ou pode ser colocado uma consulta WMI para levantar na BIOS o modelo do equipamento, ai você montaria um de para, para extrair a informação se o modelo é de um desktop ou de um notebook.

    Script.

    Set WshNetwork = CreateObject("WScript.Network")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
      ComputerName  =  WshNetwork.ComputerName
      struser = WshNetwork.UserName
    
    sFileName = "c:\temp\" & struser & ".log" 'Caminho do log de controle, pode ser local na maquina se o seu usuário tiver o direito de gravar local, ou um caminho de rede.
    
    If Not objFSO.FileExists(sFileName) Then
    	Do While strvalor=""	
    		strvalor = InputBox ("Digite aqui" & vbCrLf & "Type Here","Controle de equipamentos")
    		If VarType(strvalor) = 0 Then WScript.Quit
    	Loop 
    	
    	strArquivo = "c:\equipamentos.log" 'Caminho do log, passe um compartilhamento na sua rede aonde os usuários tenham direitos de gravar.
    
    	Set objTextFile = objFSO.OpenTextFile(strArquivo, 8, True)
    	    objTextFile.WriteLine Trim(struser & ";" & ComputerName & ";" & strvalor)
    	    objTextFile.Close	
    
    	Set objFile = objFSO.createtextfile(sFileName)
     Else
    	WScript.Quit(0)
    End If


    Your potential. Our passion - Microsoft

    quarta-feira, 6 de maio de 2015 13:48
  • Leandro,

    Vou testar, mas acredito que agora vai funcionar. Uma adaptação ou outra, e dará certo.

    Valeu.

    sexta-feira, 8 de maio de 2015 15:51