Usando o Powershell para alterar as propriedades do usuário no XP

1

É possível usar o PowerShell para alterar as configurações do usuário local no Windows XP (sem o Active Directory), especificamente as configurações na guia de propriedades do usuário - como "A senha nunca expira" e grupos dos quais o usuário é membro? / p>

As amostras seriam ótimas, mas um indicador da documentação relevante também seria ótimo - não sei ao certo o que procurar.

    
por Randy Orrison 23.08.2009 / 11:40

5 respostas

2

A maneira mais simples é direcionar consultas ADSI para o provedor WinNT local - que retornará objetos locais no sistema em que você está interessado. Eles podem ser sistemas locais ou remotos, mas serão anexados à conta local e aos objetos de segurança o AD.

$user = [ADSI]"WinNT://joe-pc/joe"

Com isso, você pode consultar e modificar as propriedades do objeto $ user.

Para definir o sinalizador "Senha não expira", é necessário definir o sinalizador relevante no atributo UserFlags. Você pode encontrar uma tabela útil deles em Motobit aqui .

Para forçar a senha da conta do Joe no exemplo acima para nunca expirar:

$Never_Expire=0x10000
$user.UserFlags.value=$user.UserFlags.value -bor $Never_Expire

Modificar membros de grupos é um pouco mais complicado, mas o PowerShell Guy da Microsoft tem um passo a passo Andar embora para adicionar contas de usuário de domínio a um grupo local em um sistema que eu acho que é exatamente o que você precisa.

    
por 23.08.2009 / 13:42
1

heres uma maneira de desligar a senha Nunca expira conectando a cada máquina ..

link

    
por 23.08.2009 / 13:39
1

versão PS 2.0

$user = [ADSI]"WinNT://ComputerName/User"
$user.UserFlags = 65536 // Flag value used to set password to not expire
$user.SetInfo()

Excelente referência - link

    
por 04.02.2011 / 23:21
0

Não sei como fazer exatamente o que você pediu, mas a documentação do MS Getting Started está aqui: link

    
por 23.08.2009 / 13:34
0

Isso não funcionou para mim, por isso, depois de muita pesquisa e muita tentativa e erro, resolvi remover password never expires da conta de administrador local, com base no SID e na conta de convidado local, com base no SID.

#Set local administrator's password to expire
$admin = (gwmi -query "Select * From Win32_UserAccount Where LocalAccount = TRUE
                       AND SID LIKE 'S-1-5%-500'").Name
wmic useraccount where "name='$admin'" set passwordexpires=true


#Set local guest's password to machine expire
$guest = (gwmi -query "Select * From Win32_UserAccount Where LocalAccount = TRUE
                       AND SID LIKE 'S-1-5%-501'").Name
wmic useraccount where "name='$guest'" set passwordexpires=true
    
por 01.09.2011 / 20:23