none
Como fazer que uma determinada impressora fique padrao com um determinado usuário com script.vbs RRS feed

  • Pergunta

  • Boa tarde,

    Bem meu senário é o seguinte.

    Tenho em torno de 500 máquinas onde gerencio atualmente. Antes trabalhava com script.bat para criar pastas, mapeamentos e instalação de impressoras. Em alguns estudos e testes vi que para meu senário atual o script.vbs estava muito mais ágil, mais rápido no mapeamento e mais rápido para instalar as impressoras, foi onde optei usar o .vbs. Tudo Legal. hh. Mas sempre tem um crefe que quer ser diferente.

    O problema é o seguinte existe algum diretores aqui que esta pedindo que uma das impressoras que tem em sua sala seja a padrão, ou seja, existe três impressora ex abaixo.

    diretoria

    secretaria

    crefia

    E o padrão dos diretores esta como secretaria mas eles querem que a impressora padrão seja a DIRETORIA.

    Gostaria de saber se alguém pode me ajudar, como faço para deixar a impressora DIRETORIA como padrão.

    Agradeço desde já


    William Silva

    • Movido Richard Juhasz segunda-feira, 6 de agosto de 2012 17:19 thread movida (De:Windows Server 2008)
    quarta-feira, 1 de agosto de 2012 19:48

Respostas

  • William,

    Veja um exemplo que verifica o usuário e seta a impressora padrão.

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
    IF WshNetwork.UserName = "FABIOJR" then
    
    	WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
    
    end if


    Fábio de Paula Junior

    terça-feira, 7 de agosto de 2012 21:29
    Moderador
  • boa noite William,

    com base nesse exemplo do Fabio, você pode usar um case que verifica o Grupo e defini a impressora...

    ex:

    Set WshNetwork= WScript.CreateObject("WScript.Network")
    strDom = WshNetwork.UserDomain
    strUser = WshNetwork.UserName
    Set objUser = GetObject("WinNT://" & strDom & "/" & strUser &  ",user")
    i=0
    For Each objGroup In objUser.Groups
    	Select Case objGroup.Name
    	Case "Diretoria"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
            Case "Secretaria"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
            Case "crefia"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
        End Select
    Next
    


    sábado, 11 de agosto de 2012 00:16

Todas as Respostas

  • Boa tarde,

    Bem meu senário é o seguinte.

    Tenho em torno de 500 máquinas onde gerencio atualmente. Antes trabalhava com script.bat para criar pastas, mapeamentos e instalação de impressoras. Em alguns estudos e testes vi que para meu senário atual o script.vbs estava muito mais ágil, mais rápido no mapeamento e mais rápido para instalar as impressoras, foi onde optei usar o .vbs. Tudo Legal. hh. Mas sempre tem um crefe que quer ser diferente.

    O problema é o seguinte existe algum diretores aqui que esta pedindo que uma das impressoras que tem em sua sala seja a padrão, ou seja, existe três impressora ex abaixo.

    diretoria

    secretaria

    crefia

    E o padrão dos diretores esta como secretaria mas eles querem que a impressora padrão seja a DIRETORIA.

    Gostaria de saber se alguém pode me ajudar, como faço para deixar a impressora DIRETORIA como padrão.

    Obs: Atualmente eu trabalho com permissões por grupo, ou seja se o usuário for de grupo tal ele consegue mapear caso contrario ele não terá permissão. To pensando em fazer da mesma forma pra deixar a impressora padrão, criar um grupo de impressoras padrão.

    Agradeço desde já


    William Silva



    William Silva

    quarta-feira, 1 de agosto de 2012 21:27
  • William,

    Veja um exemplo que verifica o usuário e seta a impressora padrão.

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
    IF WshNetwork.UserName = "FABIOJR" then
    
    	WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
    
    end if


    Fábio de Paula Junior

    terça-feira, 7 de agosto de 2012 21:29
    Moderador
  • Bom dia F. Junior

    Pelo que vejo terei que criar um novo script para setar a impressora padrão para quem for do grupo correspondente.

    Como já temos um script padrão, ao finalizar o script padão darei um CALL no novo script para que após a instalação das impressoras que cada grupo tem acesso

    o novo script  inicia a verificacao e sai setando a impressora padrão.

    Pelo que vi será o mais corretor para meu problema, dose que dará um pouco de trabalho pra criar esse script.


    William Silva

    quinta-feira, 9 de agosto de 2012 13:51
  • boa noite William,

    com base nesse exemplo do Fabio, você pode usar um case que verifica o Grupo e defini a impressora...

    ex:

    Set WshNetwork= WScript.CreateObject("WScript.Network")
    strDom = WshNetwork.UserDomain
    strUser = WshNetwork.UserName
    Set objUser = GetObject("WinNT://" & strDom & "/" & strUser &  ",user")
    i=0
    For Each objGroup In objUser.Groups
    	Select Case objGroup.Name
    	Case "Diretoria"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
            Case "Secretaria"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
            Case "crefia"
    		WshNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
        End Select
    Next
    


    sábado, 11 de agosto de 2012 00:16
  • Bom dia Galera,

    Na realidade terei que fazer um novo script como já havia dito, com base nesse exemplo do Fabio, farei com que o script verifique o Grupo e defini a impressora padrão. Como estou enrolado não tive tempo de fazer os testes, mas desde já agradeço.


    William Silva

    segunda-feira, 27 de agosto de 2012 12:33