Verifique a sociedade de grupo e trace movimentações em um certificado do início de uma sessão

Encontre para fora a que agrupe um usuário referenced dentro de um certificado do início de uma sessão pertence.

  

Os certificados do início de uma sessão são úteis para traçar movimentações de modo que os usuários possam armazenar suas limas do trabalho em posições padrão em usuários do arquivo da rede. Seria agradável poder traçar as movimentações baseadas em uma sociedade de grupo de usuário, e aquele é o que este corte é sobre. Colocando uma informação da sociedade de grupo de usuário em um objeto do dicionário, você pode rapidamente encontrar para fora se um usuário for um membro de um grupo e para executar então ações (tais como traçar movimentações) se forem. O certificado neste corte permite que você realize este e mais.

Este certificado verifica rapidamente para ver se um usuário for um membro de um grupo particular. Lê o membro da informação da aba para o cliente e os lugares do usuário ele em um objeto do dicionário, porque um objeto do dicionário oferece o acesso rápido e fácil à informação da sociedade de grupo. Se o usuário for um membro do grupo especificado, uma caixa de diálogo di-lo-á assim.

O Código

Para usar este certificado, datilografe-o no notepad (com o envoltório de palavra incapacitado) e conserve-o com uma extensão dos vbs como CheckMembership.vbs.

Declarações explícitas ' da força explícita da 
opção
'
' variáveis
'
WSHNetwork Não ofuscante
FSO Não ofuscante
Usuário atual do strUserName não ofuscante '
Domain Name do usuário atual não ofuscante do 
strUserDomain '
Dicionário de ObjGroupDict não ofuscante ' dos 
grupos a que o usuário pertence
 
Ajuste WSHNetwork = 
WScript.CreateObject("WScript.Network")
Ajuste FSO = 
CreateObject("Scripting.FileSystemObject")
'
' espere até que o usuário esteja entrado 
realmente...
'
strUserName = ""
Quando strUserName = ""
Th 1/10 de WScript.Sleep 100 ' de um segundo
strUserName = WSHNetwork.UserName
Wend
strUserDomain = WSHNetwork.UserDomain
 
' leia o cliente "membro do usuário" da aba info 
através da rede
' uma vez em um objeto do dicionário. 
 
Ajuste ObjGroupDict = CreateMemberOfObject(strUserDomain, 
strUserName)
Se MemberOf(ObjGroupDict, "Domínio Admins") 
Então
wscript.echo "é um membro do domínio Admins." 
' REM esta linha para traçar movimentações da rede
 
' a rede do mapa dirige aqui, UNREM alinha abaixo:
' WSHNetwork.MapNetworkDrive "O:", 
"\\server1\share"
' WSHNetwork.MapNetworkDrive "Q:", 
"\\server2\share"
 
Mais
wscript.echo "não é um membro do domínio 
Admins"
Termine Se
 
Função MemberOf(ObjDict, strKey)
' dado um objeto do dicionário que contem os 
grupos a que o usuário
' é um membro de e um nome de grupo, retorna 
então verdadeiro se o grupo
' está no retorno do dicionário mais falso. 
'
' entradas:
' strDict - entrada, nome de um objeto do dicionário
' strKey - entrada, valor que está sendo 
procurarado por dentro
' o objeto do dicionário
' Uso Da Amostra:
'
' Se MemberOf(ObjGroupDict, "DOMÍNIO ADMINS") 
Então
' wscript.echo "é um membro do domínio Admins."
' Termine Se
'
'
MemberOf = CBool(ObjGroupDict.Exists(strKey))
 
Função Do Fim
 
 
Função CreateMemberOfObject(strDomain, 
strUserName)
' dado um Domain Name e um username, retornos um 
dicionário
' objeto dos grupos a que o usuário é um membro.
'
' entradas:
'
' strDomain - entrada, Domain Name do NT
' strUserName - entrada, username do NT
'
ObjUser não ofuscante, objGroup
 
Ajuste CreateMemberOfObject = 
CreateObject("Scripting.Dictionary")
CreateMemberOfObject.CompareMode = vbTextCompare
Ajuste o objUser = o GetObject("WinNT://" _
& strDomain & "/" _
& strUserName & ", usuário")
Para cada objGroup em objUser.Groups
CreateMemberOfObject.Add objGroup.Name, "-"
Em seguida
Ajuste o objUser = nada
 
Termine A Função
 

Funcionando o corte

Para traçar as movimentações baseadas em um grupo de usuário diferente do que o domínio Admins modificam esta linha como necessário:

Se MemberOf(ObjGroupDict, "Domínio Admins") Então

Para o exemplo, se você quiser traçar as movimentações baseadas sobre se os usuários são membros de um grupo global nomeado o uso de Venda esta linha preferivelmente:

Se MemberOf(ObjGroupDict, "Vendas") Então

Para traçar movimentações em vez de indicar uma caixa de mensagem, comente para fora da seguinte linha:

wscript.echo "é um membro do domínio Admins." ' 
REM esta linha para traçar movimentações da rede

e uncomment estas linhas:

' WSHNetwork.MapNetworkDrive "O:", "\\server1\share"
' WSHNetwork.MapNetworkDrive "Q:", "\\server2\share"

especificando letras de movimentação e trajetos de UNC como apropriado dependendo de seu próprio ambiente do networking. Para o exemplo, para traçar a letra de movimentação K: a um dobrador compartilhado nomeado Relatório no uso do usuário do arquivo fs3.mtit.com esta linha em vez do acima:

WSHNetwork.MapNetworkDrive "K:","\\fs3.mtit.com\Reports
este é um artigo adicionado por Len Parov


Disclaimer: Nosso Web site não é responsável para a informação contida por este artigo. Este artigo em nenhuma maneira reflete as vistas, as opiniões, os pensamentos ou a opinião da equipe de funcionários do diretório dos artigos.

Observação da tradução: O artigo da "movimentações da sociedade e do mapa de grupo verificação em um certificado do início de uma sessão" foi traduzido usando um serviço de tradução automatizado. Nós desculpamo-nos sincerely por todos os erros da tradução que ocorram. Obrigado compreendendo.

Online: 483 users browsing the articles directory