none
Script de logon não mapeia quando usuário faz parte de dois grupos RRS feed

  • Pergunta

  • AMIGOS USO O APLICATIVO KIXTART(NÃO TENHO NENHUM DOMINIO ALGUM NO VBSCRIPT) PARA EXECUTAR O MEU SCRIPT DE LOGON DA REDE, NO SCRIPT ABAIXO TUDO FUNCIONA, POREM SE TENHO UM USUARIO QUE PERTENÇA A DOIS GRUPOS DIFERENTES, NEM TODOS OS MAPEAMENTOS ESTÃO SENDO EXECUTADOS, VEJAM O SCRIPT ABAIXO:

    CLS
    Color W+                  
    at (02,08) "Ola, "+@userid+" , Bem-vindo a Rede NEXUS"
    at (04,08) "Aguarde. Definindo os Parametros de Sua Conexao !!!"
    sleep 1                        
    small
    Color b+/n
    BOX (0,0,24,79,SINGLE)           
    Color b/n
    BOX (8,06,21,70,SINGLE)              
    Color g+/n
    Color w+/n
    AT (10,08) "Usuário           : "    
    AT (11,08) "Nome              : "
    AT (12,08) "Privilégio        : "
    AT (13,08) "Estação           : "
    AT (14,08) "Dominio           : "
    AT (15,08) "Servidor de Logon : "
    at (16,08) "Hora              : "
    at (17,08) "Data              : "
    Color y+/n
    AT (10,28) @userid              
    AT (11,28) @fullname   
    AT (12,28) @priv
    AT (13,28) @wksta
    AT (14,28) @domain
    AT (15,28) @lserver
    AT (16,28) @time
    AT (17,28) ""+@mdayno+"/"+@monthno+"/"+@year
    Color y+/n
    AT (19,08) "Aguarde, Gravando os Parametros de Sua Conexão ...!"
    sleep 3
    if ingroup("QLIKVIEW_ADM")
       USE P: "\\SRV-QLIK\aplicacoes" 
    endif
    if ingroup("Domain Users")
       USE Y: "\\SRVSUPORTE\PUBLICA" /PERSISTENT
    endif
    if ingroup("LEXCOLOR2")
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\L-SECEXEC")
    endif
    if ingroup("ACESSO_LEX_2ANDAR")
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\L-SGTG")
    endif
    if ingroup("FINANCEIRO")
       USE X: "\\SRVARQ01\FINANCEIRO"
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\X-FINAN")
       SETDEFAULTPRINTER ("\\SRV-IMP2.NEXUS.LOCAL\X-FINAN")
    endif
    if ingroup("JURIDICO")
       USE X: "\\SRVARQ01\JURIDICO"
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG")
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\X-PROTOC")
       SETDEFAULTPRINTER ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2")
    endif
    if ingroup("LICITACAO")
       USE X: "\\SRVARQ01\LICITACAO"
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2")
       SETDEFAULTPRINTER ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2")
    endif
    if ingroup("SGTG")
       USE R: "\\SRVARQ01\ADMINISTRATIVO"
       ADDPRINTERCONNECTION ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2")
       SETDEFAULTPRINTER ("\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2")
    endif
    EXIT


    EU TENHO UM USUARIO QUALQUER QUE PERTENCE AOS GRUPOS QLIKVIEW_ADM e  SGTG POIS BEM NO CASO OS MAPEAMENTOS REFERENTE AO GRUPO SGTG TA OK, POREM AO GRUPO QLIKVIEW_ADM QUE ESSE USUARIO TAMBEM PERTENCE NÃO APARECE DE FORMA ALGUMA, ALGUEM PODE DAR UMA DICA ? E SE NÃO FOR PEDIR MUITO, DA PRA CONVERTE ESTE SCRIPT COM ESSE MESMOS MAPEAMENTOS PARA VBS ? DESDE JÁ AGRADEÇO A JUDA

     


    quinta-feira, 8 de novembro de 2012 23:16

Respostas

  • Olá Marcony Lacerda,

    Você pode obter um suporte mais especializado nos fóruns do Kixtart: http://www.kixtart.org/forums/ubbthreads.php.

    Particularmente, não vejo nenhum erro no script. Para certificar-se de que o caminho do compartilhamento está correto e que o usuário tem as permissões necesárias, faça logon com as credenciais do usuário que apresenta a falha, e digite na barra de navegação do Windows Explorer \\SRV-QLIK\aplicacoes. Se o compartilhamento não abrir, então o erro está no caminho informado no script ou nas permissões de compartilhamento.

    Espero ter ajudado.

    Atenciosamente,




    Caio Vilas Boas 
    Microsoft Certified Trainer
    www.itprogroup.com.br - Comunidade Técnica

    sexta-feira, 9 de novembro de 2012 03:59
    Moderador
  • Quanto ao script .Kix já tentou fazer o debug dele utilizando /d (acho que isso mesmo) para ver se consegue ver algo diferente no seu script?

    Pra quebrar o galho, segue um modelo de script .VBS, veja se acontece o mesmo problema nele.

    .VBS

    on error resume next
    
    'Objetos
    Set WshNetwork = CreateObject("WScript.Network")
    set objShell   = CreateObject( "WScript.Shell" )
    
    strUserName = objShell.ExpandEnvironmentStrings("%username%")
    strUserDomain = objShell.ExpandEnvironmentStrings("%userdomain%")
    
    'Configura Dicionário de Grupos
    Set dicGrupo = CreateObject("Scripting.Dictionary")
    dicGrupo.CompareMode = 1
    ADSPath = strUserDomain & "/" & strUserName
    Set userPath = GetObject("WinNT://" & ADSPath & ",user")
    For Each listGroup in userPath.Groups
    	dicGrupo.Add listGroup.Name, "-"
    next
    
    
    'Inicio do Script
    
    if IsMember("QLIKVIEW_ADM") then
    
    	MapDrive "P:","\\SRV-QLIK\aplicacoes" 
    
    end if
    
    
    if IsMember("SGTG") then
    	
    	MapDrive "R:","\\SRVARQ01\ADMINISTRATIVO"
    	WshNetwork.AddWindowsPrinterConnection "\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2"
    	WshNetwork.SetDefaultPrinter "\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2"
       
    end if
    
    
    'Final do script
    
    ' *****************************************************
    ' Funções
    Function IsMember(groupName)
    	IsMember = cbool(dicGrupo.Exists(groupName))
    End Function
    
    Function MapDrive(DriveLetter, SharedPath)
    	On Error Resume Next
    	Set objNetwork = CreateObject("Wscript.Network")
    	if objNetwork.DriveExists(SharedPath) then
    		If objNetwork.DriveExists(DriveLetter) then
    			objNetwork.RemoveNetworkDrive DriveLetter, true, true
    		end if
    		objNetwork.MapNetworkDrive DriveLetter, SharedPath, true
    	end if
    
    end Function

    O VBScript não tem algumas das facilidades do Kix, veja, tive que criar uma função para verificar se o usuário é membro.

    Coloquei apenas dois IFs para te ajudar, complete com o restante.


    Fábio de Paula Junior

    quarta-feira, 14 de novembro de 2012 11:16
    Moderador

Todas as Respostas

  • Olá Marcony Lacerda,

    Você pode obter um suporte mais especializado nos fóruns do Kixtart: http://www.kixtart.org/forums/ubbthreads.php.

    Particularmente, não vejo nenhum erro no script. Para certificar-se de que o caminho do compartilhamento está correto e que o usuário tem as permissões necesárias, faça logon com as credenciais do usuário que apresenta a falha, e digite na barra de navegação do Windows Explorer \\SRV-QLIK\aplicacoes. Se o compartilhamento não abrir, então o erro está no caminho informado no script ou nas permissões de compartilhamento.

    Espero ter ajudado.

    Atenciosamente,




    Caio Vilas Boas 
    Microsoft Certified Trainer
    www.itprogroup.com.br - Comunidade Técnica

    sexta-feira, 9 de novembro de 2012 03:59
    Moderador
  • Olá, Marcony Lacerda.

    Faço das palavras do Caio, as minhas.

    Não consegui ver erro algum no script. De qualquer forma verifique o site que ele te informou, e irei mover o tópico para a sessão de scripts. Lá o pessoal pode te ajudar melhor.

    Abraço.

    Atenciosamente.


    Adriel Gavazza Ventura
    Microsoft Certified Professional
    www.itprogroup.com.br - Comunidade Técnica

    sexta-feira, 9 de novembro de 2012 18:37
    Moderador
  • Marcony,

    Se o usuário faz parte apenas do grupo QLIKVIEW_ADM o mapeamento P: e feito sem problemas??

    Se não é feito você pode tentar o seguinte: reescreve parte do código, apague esta parte:

    sleep 3
    if ingroup("QLIKVIEW_ADM")
       USE P: "\\SRV-QLIK\aplicacoes" 
    endif
    if ingroup("Domain Users")

    E reescreva exatamente igual, mas não é copiar e colar, É REESCREVER.


    Fábio de Paula Junior

    sexta-feira, 9 de novembro de 2012 19:08
    Moderador
  • Fabio

    Se o camarada pertence apenas ao grupo QLIKVIEW_ADM o script mapeia sem problema algum ja se esse mesmo usuario pertencer a outro grupo ele não mapeia tudo nem a pau

    segunda-feira, 12 de novembro de 2012 10:44
  • Quanto ao script .Kix já tentou fazer o debug dele utilizando /d (acho que isso mesmo) para ver se consegue ver algo diferente no seu script?

    Pra quebrar o galho, segue um modelo de script .VBS, veja se acontece o mesmo problema nele.

    .VBS

    on error resume next
    
    'Objetos
    Set WshNetwork = CreateObject("WScript.Network")
    set objShell   = CreateObject( "WScript.Shell" )
    
    strUserName = objShell.ExpandEnvironmentStrings("%username%")
    strUserDomain = objShell.ExpandEnvironmentStrings("%userdomain%")
    
    'Configura Dicionário de Grupos
    Set dicGrupo = CreateObject("Scripting.Dictionary")
    dicGrupo.CompareMode = 1
    ADSPath = strUserDomain & "/" & strUserName
    Set userPath = GetObject("WinNT://" & ADSPath & ",user")
    For Each listGroup in userPath.Groups
    	dicGrupo.Add listGroup.Name, "-"
    next
    
    
    'Inicio do Script
    
    if IsMember("QLIKVIEW_ADM") then
    
    	MapDrive "P:","\\SRV-QLIK\aplicacoes" 
    
    end if
    
    
    if IsMember("SGTG") then
    	
    	MapDrive "R:","\\SRVARQ01\ADMINISTRATIVO"
    	WshNetwork.AddWindowsPrinterConnection "\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2"
    	WshNetwork.SetDefaultPrinter "\\SRV-IMP2.NEXUS.LOCAL\X-SGTG2"
       
    end if
    
    
    'Final do script
    
    ' *****************************************************
    ' Funções
    Function IsMember(groupName)
    	IsMember = cbool(dicGrupo.Exists(groupName))
    End Function
    
    Function MapDrive(DriveLetter, SharedPath)
    	On Error Resume Next
    	Set objNetwork = CreateObject("Wscript.Network")
    	if objNetwork.DriveExists(SharedPath) then
    		If objNetwork.DriveExists(DriveLetter) then
    			objNetwork.RemoveNetworkDrive DriveLetter, true, true
    		end if
    		objNetwork.MapNetworkDrive DriveLetter, SharedPath, true
    	end if
    
    end Function

    O VBScript não tem algumas das facilidades do Kix, veja, tive que criar uma função para verificar se o usuário é membro.

    Coloquei apenas dois IFs para te ajudar, complete com o restante.


    Fábio de Paula Junior

    quarta-feira, 14 de novembro de 2012 11:16
    Moderador
  • Resolvido?

    Fábio de Paula Junior

    quarta-feira, 21 de novembro de 2012 21:49
    Moderador