none
USUARIO NUNCA EXPIRA RRS feed

  • Pergunta

  • Ola,

    Estou tentando utilizar o comando "net user usuario senha /add /expires:never" mas o mesmo não funciona, ele cria o usuario mas a opção de nunca expira não fica marcada.
    Já tentei configurar esta opção através do net account tb mas não funcionou, alguém pode me ajudar?
    Utilizo o w2k3 standar

    Vlw
    sexta-feira, 22 de dezembro de 2006 20:12

Respostas

  • Diego vê se isto te ajuda:

    Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
     
    Set objUser = GetObject _
        ("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com")
    intUAC = objUser.Get("userAccountControl")
     
    If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
        Wscript.Echo "Already enabled"
    Else
        objUser.Put "userAccountControl", intUAC XOR _
            ADS_UF_DONT_EXPIRE_PASSWD
        objUser.SetInfo
        WScript.Echo "Password never expires is now enabled"
    End If

     

    abraços


     

    sexta-feira, 22 de dezembro de 2006 22:44
  • Vamos por partes:

    1) Esse fórum é voltado mais aos scripts administrativos, usados por administradores para gerenciar estações e domínios... mas como quase todo mundo aqui conhece outras linguagens, a gente também resolve esse tipo de coisa:

    2) Suponho que vc tá rodando PHP no Windows, na máquina que quer criar os usuários (seria interessante dar TODOS os detalhes que vc tiver sobre o sistema). Logo, vc pode usar três alternativas:

    a. Descubra, no PHP, como ele faz para executar comandos... e mande executar o NET USER. Nesse ponto, não podemos ajudar pq foge um pouco do objetivo do forum e pq eu não conheço tanto dele assim...

    b. Descubra como o PHP faz para trabalhar com objetos COM. Já vi isso funcionando, e você vai precisar adaptar o código que foi mandado, em VBScript. A idéia é a mesma, só vai trocar pra sintaxe do PHP

    c. Salve o código que foi enviado num arquivo .VBS e use a alternativa A para executar esse arquivo VBS.


    []s,

    --
    Vinicius Canto <scripterbr_at_gmail_dot_com>
    MVP Visual Developer - Scripting
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Blog sobre Scripting: http://viniciuscanto.blogspot.com

    terça-feira, 16 de janeiro de 2007 12:41
    Moderador

Todas as Respostas

  • Diego vê se isto te ajuda:

    Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
     
    Set objUser = GetObject _
        ("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com")
    intUAC = objUser.Get("userAccountControl")
     
    If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
        Wscript.Echo "Already enabled"
    Else
        objUser.Put "userAccountControl", intUAC XOR _
            ADS_UF_DONT_EXPIRE_PASSWD
        objUser.SetInfo
        WScript.Echo "Password never expires is now enabled"
    End If

     

    abraços


     

    sexta-feira, 22 de dezembro de 2006 22:44
  • no caso, eu utilizo outra linguagem, até por isso eu coloquei os comandos padrões do sistema, como net user, não tenho nenhuma police, gostaria de saber como consigo uma solução por console, para poder executar o mesmo pelo meu script (feito em php e perl).
    terça-feira, 26 de dezembro de 2006 18:18
  • alguém?
    há, não utilizo AD...
    terça-feira, 2 de janeiro de 2007 21:25
  • Vamos por partes:

    1) Esse fórum é voltado mais aos scripts administrativos, usados por administradores para gerenciar estações e domínios... mas como quase todo mundo aqui conhece outras linguagens, a gente também resolve esse tipo de coisa:

    2) Suponho que vc tá rodando PHP no Windows, na máquina que quer criar os usuários (seria interessante dar TODOS os detalhes que vc tiver sobre o sistema). Logo, vc pode usar três alternativas:

    a. Descubra, no PHP, como ele faz para executar comandos... e mande executar o NET USER. Nesse ponto, não podemos ajudar pq foge um pouco do objetivo do forum e pq eu não conheço tanto dele assim...

    b. Descubra como o PHP faz para trabalhar com objetos COM. Já vi isso funcionando, e você vai precisar adaptar o código que foi mandado, em VBScript. A idéia é a mesma, só vai trocar pra sintaxe do PHP

    c. Salve o código que foi enviado num arquivo .VBS e use a alternativa A para executar esse arquivo VBS.


    []s,

    --
    Vinicius Canto <scripterbr_at_gmail_dot_com>
    MVP Visual Developer - Scripting
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Blog sobre Scripting: http://viniciuscanto.blogspot.com

    terça-feira, 16 de janeiro de 2007 12:41
    Moderador
  • Funcionou...perfeito...

    agora tenho uma outra dúvida,

    para criar no caso com o opção "User Cannot Change Password" habilitada, como faço?

    quarta-feira, 3 de outubro de 2007 19:52
  • Buenas,

    Em php fica assim:

    <?php

        $win = new COM('WinNT://GRUPO/LAB/'.$usuario.',User');
        if($win -> Get('UserFlags') != 66113)
        {
        $win -> Put('UserFlags' , 66113);
        $win -> SetInfo();
        }
        echo 'Usuario '.$usuario.' setado para nao expirar nunca e sem direito de alterar a senha Stick out tongue';
    ?>

    E em VB pra nao alterar a senha fica:

    Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
    Dim usr as IADs

    Set usr = GetObject("WinNT://Fabrikam/JeffSmith")
    oldFlags = usr.Get("UserFlags")
    newFlags = oldFlags Or ADS_UF_DONT_EXPIRE_PASSWD
    usr.Put "UserFlags", newFlags
    usr.SetInfo
    Obs: exemplo em vb retirada de http://msdn.microsoft.com/en-us/library/aa746537(VS.85).aspx , a em php foi eu que fiz Big Smile


    sexta-feira, 27 de junho de 2008 21:18