estou com um grande problema! tenho um AD com win server 2008, e tenho um script que preciso rodar nele, a função do script é dar permissão para o usuario alterar alguns atributos na conta do computador que esta logando. o problema é que o meu script esta dando erro e não consigo achar a solução!
da o seguinte erro:
Line:44
Columm: 1
Error: (null)
Code: 80070539
Source: (null)
System: A estrutura da identificação de segurança é inválida.
Pergunta
Pedro Tomazi
Bom dia Pessoal
estou com um grande problema! tenho um AD com win server 2008, e tenho um script que preciso rodar nele, a função do script é dar permissão para o usuario alterar alguns atributos na conta do computador que esta logando. o problema é que o meu script esta dando erro e não consigo achar a solução!
da o seguinte erro:
Line:44
Columm: 1
Error: (null)
Code: 80070539
Source: (null)
System: A estrutura da identificação de segurança é inválida.
segue o script
Const ADS_RIGHT_DS_WRITE_PROP = &H20
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_ACEFLAG_INHERIT_ACE = 10
Const ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = &H3
Set objRootDSE = GetObject("LDAP://RootDSE")
FQDN = objRootDSE.Get("DefaultNamingContext")
Set x = GetObject("LDAP://" & FQDN)
Set sd = x.Get("ntSecurityDescriptor")
Set Dacl = sd.DiscretionaryAcl
'serialNumber
setAtt("{BF967A32-0DE6-11D0-A285-00AA003049E2}")
'
'networkAddress
setAtt("{BF9679D9-0DE6-11D0-A285-00AA003049E2}")
'
'ipHostNumber
setAtt("{DE8BB721-85DC-4FDE-B687-9657688E667E}")
'
'employeeNumber
setAtt("{A8DF73EF-C5EA-11D1-BBCB-0080C76670C0}")
'
'employeeID
setAtt("{BF967962-0DE6-11D0-A285-00AA003049E2}")
Function setAtt(GUID)
Set objAce = CreateObject("AccessControlEntry")
objAce.Trustee = "NT AUTHORITY\Authenticated Users"
objAce.AceFlags = 10
objAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
objAce.Flags = ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT
objAce.ObjectType = GUID
objAce.InheritedObjectType = "{BF967A86-0DE6-11D0-A285-00AA003049E2}"
objAce.AccessMask = ADS_RIGHT_DS_WRITE_PROP
' Add the ACEs to the Discretionary ACL.
Dacl.AddAce objAce
sd.DiscretionaryAcl = Dacl
x.put "ntSecurityDescriptor", Array(sd)
x.SetInfo
End Function
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.