Como definir a opção "Usuário não é possível alterar a senha" usando um programa

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

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: 301287
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Este artigo descreve como definir a opção de Usuário não é possível alterar a senha usando um programa.
Mais Informações
No Windows 2000, um administrador pode definir a opção de Usuário não é possível alterar a senha . Esta opção pode definir a lista de controle de acesso (ACL) nos objetos dos usuários para que os usuários não possam alterar suas senhas quando esta opção é selecionada. Em algumas situações, convém usar essa opção em um processo em lotes usando um programa.

Crie um arquivo com uma extensão .vbs e, em seguida, copie o seguinte texto (código) para esse arquivo. Em seguida, altere o nome distinto (DN) do usuário para o caminho que você deseja.

Aviso: O código de exemplo que acompanha este artigo da Base de dados de Conhecimento não reordenar as entradas de controle de acesso (ACEs). O programador deve definir a ordem correta das ACEs em um descritor de segurança. Ordem correta, conhecido como "canonicidade da ACL," requer (entre outras coisas) que todos os "negam" ACEs listados antes de todos os "Permitir" ACEs na ACL. Para obter mais informações sobre o ordering correto de acesso, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
269159Como usar o Visual Basic e ADsSecurity.dll para ordem ACEs corretamente em uma ACL
Para obter mais informações sobre como usar o Microsoft Active Directory Services Interface para ordem ACLs corretamente, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
279682Como usar ADsSecurity.dll para adicionar uma entrada de controle de acesso a uma pasta NTFS
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-00aa0040529b}"Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100Const ADS_ACETYPE_ACCESS_DENIED = &H1Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1                                            Dim oACESelfSelf, oACEEveryoneDim oSecDescriptorDim oDACLDim oUSer                                                                Set oACESelf = CreateObject("AccessControlEntry")Set oACEEveryone = CreateObject("AccessControlEntry")                                                                                '-- Create the Access Control Entry for Self---oACESelf.Trustee = "NT AUTHORITY\SELF"oACESelf.AceFlags = 0oACESelf.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECToACESelf.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENToACESelf.ObjectType = CHANGE_PASSWORD_GUIDoACESelf.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS                                                                 ' --- Create the Access Control Entry for Everyone---oACEEveryone.Trustee = "EVERYONE"oACEEveryone.AceFlags = 0oACEEveryone.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECToACEEveryone.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENToACEEveryone.ObjectType = CHANGE_PASSWORD_GUIDoACEEveryone.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS'---Get the user ObjectSet oUSer = GetObject("LDAP://cn=todd,ou=na,dc=microsoft,dc=com")'--- Get this objects Security DescriptorSet oSecDescriptor = oUSer.Get("ntSecurityDescriptor")                                                                 '--- Get the Discretionary ACL ---Set oDACL = oSecDescriptor.DiscretionaryAcl                                                                 '-- Add our new ACEs and replace DACL---oDACL.AddAce oACESelfoDACL.AddAce oACEEveryone                                                                 ' -- Put the Security Descriptor back on the object --oUSer.Put "ntSecurityDescriptor", oSecDescriptoroUSer.SetInfo                                                                                 ' -- Clean up --Set oUser = NothingSet oACESelf = NothingSet oACEEveryone = NothingSet oDACL = NothingSet oSecDescriptor = Nothing					
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Propriedades

ID do Artigo: 301287 - Última Revisão: 12/06/2015 03:17:51 - Revisão: 3.5

Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server

  • kbnosurvey kbarchive kbmt kbenv kbhowto KB301287 KbMtpt
Comentários