Come faccio a modificare una password con uno script?

August 10

Come faccio a modificare una password con uno script?


password di Windows aiutare le imprese e le persone salvaguardare i loro computer dall'utilizzo non autorizzato. A volte, tuttavia, può essere necessario modificare la password su un computer o un gruppo di computer se la rete è compromessi o di evitare ex dipendenti di accedere. Se i computer sono collegati tramite una rete, l'amministratore può cambiare la password su un elenco di computer che utilizzano questo script Power Shell.

istruzione

1 Compilare un elenco di computer i cui locali amministratore password verrà cambiata. Tutta la documentazione utile può essere utilizzato o la lista può essere digitato manualmente in qualsiasi editor di testo. Utilizzare il nome del file "computerlist.txt", per esempio.

2 Copiare lo script di seguito esattamente come appare e incollarlo in un file di testo con estensione "ps1." Ad esempio, utilizzare il nome del file "Change-LocalUserPassword.ps1".

<#

.Sinossi

Sets local user password on one or more computers

.Descrizione

This script sets local user password on one or more computers

E 'in grado di leggere un file di testo di nomi comptuer (una riga per) e

connettersi a tali computer per modificare una password utente locale.

Questo script richiede diritti di amministratore.

PARAMETRI

Nome -computer del computer

-path percorso all'elenco computer. Cause script da utilizzare per il file

nome del computer

-user il nome dell'utente cui password deve essere resettata

-password la password per l'utente

.Esempio

Change-LocalUserPassword.ps1 -user administrator -password NewPassword

Modifica la password di amministratore locale per NuovaPassword sul computer locale

.Esempio

Change-LocalUserPassword.ps1 -user bob -password NewPassword

Modifica la password utente locale bob a NuovaPassword sul computer locale

.Esempio

Change-LocalUserPassword.ps1 -user administrator -password NewPassword

-path c: \ computerlist.txt

Modifica la password di amministratore locale per NuovaPassword su ogni computer in

il file C: \ computerlist.txt.

.Inputs

[string]

.OutPuts

[string]

.Note

NAME: Windows 7 Resource Kit

AUTORE: Ed Wilson

LASTEDIT: 2009/05/20

PAROLE CHIAVE:

.link

Http://www.ScriptingGuys.com Richiede -Version 2.0>

Param (

[Parameter(Position=0)]

[corda]

$ Del computer = $ env: computername,

[corda]

$ Path,

[corda]

[Parametro (Mandatory = $ true)]

$ User,

[corda]

[Parametro (Mandatory = $ true)]

$ password

) Param #end

Inizia Funzioni

funzione New-Sottolineato

{

<#

.Sinossi

Crea una sottolineatura la lunghezza della stringa di input

.Esempio

New-Sottolineato -strIN "Ciao mondo"

.Esempio

New-Sottolineato -strIn "Morgen Welt" -char "-" -sColor "blu" -uColor "giallo"

.Esempio

"Questa è una stringa" | New-Sottolineato

.Note

NOME:

AUTORE: Ed Wilson

LASTEDIT: 2009/05/20

PAROLE CHIAVE:

.link

Http://www.ScriptingGuys.com

>

[CmdletBinding ()]

param (

[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]

[corda]

$ Strin,

[corda]

$ Char = "=",

[corda]

$ Scolor = "verde",

[corda]

$ UColor = "Verde scuro",

[interruttore]

$ pipe

) Param #end

$ StrLine = $ char * $ strIn.length

if ($ pipe -non)

{

Write-Host -foregroundcolor $ Scolor $ Strin

Write-Host -foregroundcolor $ uColor $ strLine

}

Altro

{

$ strIn

$ strLine

}

} #end Funzione New-Sottolineato

Funzione di test-IsAdministrator

{

&lt;#

.Sinossi

Verifica se l'utente è un amministratore

.Descrizione

Restituisce true se un utente è un amministratore, false se l'utente non è un amministratore

.Esempio

Test-IsAdministrator

#>

param ()

$ CurrentUser = [Security.Principal.WindowsIdentity] :: GetCurrent ()

(New-Object Security.Principal.WindowsPrincipal $ currentUser) .IsInRole ([Security.Principal.WindowsBuiltinRole] :: Amministratore)

} Function #end Test-IsAdministrator

Punto di ingresso per lo script

Se (-non (Test-IsAdministrator)) {New-underline "diritti di amministratore sono necessari per questo script"; Uscita }

if ($ path)

{

$ computer = Get-Content -path $ path

Foreach ($ Computer a $ computer)

{

New-Sottolineato "Impostazione $ password utente sul computer di $"

$ De = [ADSI] "WinNT: // $ computer / $ user, utente"

$ De.SetPassword ($ password)

$ De.SetInfo ()

} #end Foreach

} #finisci se

Altro

{

New-Sottolineato "Impostazione $ password utente sul computer di $"

$ De = [ADSI] "WinNT: // $ computer / $ user, utente"

$ De.SetPassword ($ password)

$ De.SetInfo ()

}

3 Copy "Change-LocalUserPassword.ps1" in una cartella conveniente sul controller di dominio in modo che possa essere utilizzato in PowerShell. Quindi copiare "computerlist.txt" nella stessa cartella.

4 Aprire PowerShell utilizzando Start> Programmi> PowerShell.

Se la cartella è 'C: \ myscripts "tipo" cd C: \ myscripts "in PowerShell tipo.:

"\ Change-LocalUserPassword.ps1 amministratore -user -password <NuovaPassword> -path c:. \ Myscripts \ computerlist.txt". Modifica <NuovaPassword> per una password sicura.

Consigli e avvertenze

  • Cambiare tutte le password di amministratore locale per essere lo stesso potrebbe consentire l'accesso non autorizzato ai dati sui singoli computer.
  • Questo dovrebbe essere eseguita solo dagli amministratori di rete o Microsoft Certified Professional.