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.
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
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
|
|