Como aplicar programaticamente permissões de acesso para grupos internos do Windows Server 2003 no serviço de diretório do Active Directory

O suporte para o Windows Server 2003 termina em 14 de julho de 2015.

A Microsoft terminou o suporte para o Windows Server 2003 em 14 de julho de 2015. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 331947
INTRODUÇÃO
Microsoft Windows Server 2003 introduziu vários grupos a internos fim de simplificar a administração de permissões de acesso quando o domínio estiver no modo de alta segurança.

Por padrão, os grupos internos têm as permissões de acesso corretos para os objetos adequados em uma nova instalação de domínios do Windows Server 2003. No entanto, em domínios de modo misto e em domínios atualizados, algumas permissões de acesso que foram selecionados anteriormente podem não ser alterados. Esse problema ocorre quando um controlador de domínio do Windows Server 2003 é adicionado a um domínio do Windows 2000. Esse problema também ocorre quando um domínio do Windows 2000 é atualizado para um domínio do Windows Server 2003.
Mais Informações
Os scripts a seguir demonstram como conceder permissões de acesso para o atributo de token grupos-global-E-universal (TGGAU) para "Interno IN\Windows autenticação Access Group".

Código de Script Visual Basic (Modifyacl.vbs)

On Error Resume Nextconst ADS_RIGHT_DS_READ_PROP = &H10const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5const ADS_ACEFLAG_INHERIT_ACE = &H2const ADS_FLAG_OBJECT_TYPE_PRESENT = &H1' Token-Groups-Global-And-Universalconst TOKEN_GROUPS_PROPERTY_GUID = "{46a9b11d-60ae-405a-b7e8-ff8a58d456d2}"' BUILTIN\Windows Authentication Access Groupconst WINDOWS_AUTH_ACCESS_SID = "S-1-5-32-560"Set oArgs = WScript.Argumentsif oArgs.Count <> 1 then   WScript.Echo "Usage: modifyacl.vbs <DN of the object to modify>"   WScript.Echo "Ex:    modifyacl.vbs OU=test,DC=domain,DC=com"   WScript.Quit(1)end ifWScript.Echo "Trying to bind to the object " & oArgs(0)Set oTarget = GetObject( "LDAP://" & oArgs(0) )If (Err.Number <>0 ) Then	WScript.Echo "Error 0x"	+ CStr(Hex(Err.Number)) + " Occurred trying to bind to the object " 	Err.ClearEnd IfWScript.Echo "Reading security descriptor"Set oSD = oTarget.Get( "ntSecurityDescriptor" )Set oACL = oSD.DiscretionaryAclIf (Err.Number<>0 ) Then	WScript.Echo "Error 0x"	+ CStr(Hex(Err.Number)) + " Occurred reading the security descriptor"		Err.ClearEnd IfWScript.Echo "Creating new ACE and setting properties"Set oACE = CreateObject( "AccessControlEntry" )If (Err.Number<>0 ) Then	WScript.Echo "Error 0x"	+ CStr(Hex(Err.Number)) + " Occurred creating new ACE"		Err.ClearEnd If' Right to read properties of the object that is a specific property in this caseoACE.AccessMask = ADS_RIGHT_DS_READ_PROP' Grants access to the object or to the property in particularoACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT' Child objects inherit this access-control entry.oACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE' Token-Groups-Global-And-UniversaloACE.Flags = ADS_FLAG_OBJECT_TYPE_PRESENToACE.ObjectType = TOKEN_GROUPS_PROPERTY_GUID' BUILTIN\Windows Authentication Access GroupoACE.Trustee = WINDOWS_AUTH_ACCESS_SIDWScript.Echo "Applying the modified security descriptor to the object"oACL.AddAce oACEoSD.DiscretionaryAcl = oAcloTarget.Put "ntSecurityDescriptor", oSDoTarget.SetInfoIf (Err.Number<>0 ) Then	WScript.Echo "Error 0x"	+ CStr(Hex(Err.Number)) + " Occurred applying modified security descriptor to the object"		Err.ClearElse		WScript.Echo "Done!"End If
Referências
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
331951Alguns aplicativos e APIs exigir acesso a informações de autorização em objetos de conta

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 331947 - Última Revisão: 12/15/2004 20:38:48 - Revisão: 2.1

Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)

  • kbmt kbinfo kbprogramming kbscript kbhowto KB331947 KbMtpt
Comentários