Le password di Windows aiutano le aziende e persone proteggere i loro computer da accessi non autorizzati. A volte, tuttavia, può essere necessario modificare la password su un computer o un gruppo di computer se la rete è hacked o impedire l'accesso di ex-dipendenti. Se i computer sono connessi tramite una rete, l'amministratore può modificare la password su un elenco di computer utilizzando questo script di Shell di potenza.
Istruzioni
1
Compilare un elenco di computer cui password di amministratore locale verrà modificato. Può essere utilizzato qualsiasi documentazione utile o l'elenco può essere digitato manualmente in qualsiasi editor di testo. Ad esempio, utilizzare il nome del file "ComputerList. txt".
2
Copiare lo script riportato di seguito esattamente come appare e incollarlo in un file di testo con estensione "ps1." Ad esempio, utilizzare il nome del file "Cambiamento-LocalUserPassword.ps1".
< n.
. Sinossi
Sets local user password on one or more computers
. Descrizione
This script sets local user password on one or more computers
It can read a text file of comptuer names (one per line) and
connect to those computers to change a local user password.
This script requires admin rights.
PARAMETERS
-computer name of the computer
-path path to the computer list. Causes script to use file for
computer name
-user the name of the user whose password is to be reset
-password the password to user
. Esempio
Change-LocalUserPassword.ps1 -user administrator -password NewPassword
Changes the local administrator password to NewPassword on local computer
. Esempio
Change-LocalUserPassword.ps1 -user bob -password NewPassword
Changes the local user bob password to NewPassword on local computer
. Esempio
Change-LocalUserPassword.ps1 -user administrator -password NewPassword
-path c:\computerlist.txt
Changes the local administrator password to NewPassword on each computer in
the c:\computerlist.txt file.
. Ingressi
[string]
. Uscite
[string]
. Note
NAME: Windows 7 Resource Kit
AUTHOR: Ed Wilson
LASTEDIT: 5/20/2009
KEYWORDS:
. Link
Http://www.ScriptingGuys.com
Richiede la versione 2.0 - >
Param (
[Parameter(Position=0)]
[string]
$computer = $env:computername,
[string]
$path,
[string]
[Parameter(Mandatory=$true)]
$user,
[string]
[Parameter(Mandatory=$true)]
$password
) #end param
Funzioni Begin
funzione New-Underline
{
< n.
. Sinossi
Crea una sottolineatura la lunghezza della stringa di input
. Esempio
Nuovo-Underline - strIN "Hello world"
. Esempio
Nuovo-Underline - strIn "welt Morgen"-char "-" - p "blu" - uColor "giallo"
. Esempio
"Questa è una stringa" | Nuovo-Underline
. Note
NOME:
AUTORE: Ed Wilson
LASTEDIT: 20/05/2009
PAROLE CHIAVE:
. Link
Http://www.ScriptingGuys.com
>
[CmdletBinding]
param (
[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]
[string]
$strIN,
[string]
$char = "=",
[string]
$sColor = "Green",
[string]
$uColor = "darkGreen",
[switch]
$pipe
) #end param
$strLine = $char * $strIn.length
if(-not $pipe)
{
Write-Host - ForegroundColor $sColor $strIN
Write-Host - ForegroundColor $uColor $strLine
}
Altro
{
$strIn
$strLine
}
} #end New-sottolineatura funzione
funzione Test-IsAdministrator
{
<#
.Synopsis
Tests if the user is an administrator
.Description
Returns true if a user is an administrator, false if the user is not an administrator
.Example
Test-IsAdministrator
#>
param()
$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
(New-Object Security.Principal.WindowsPrincipal $currentUser).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
} #end funzione Test-IsAdministrator
Punto di ingresso allo script
Se (-non (Test-IsAdministrator)) {New-sottolineatura "diritti di amministratore sono necessari per questo script"; uscita}
if($path)
{
$computers = get-Content - percorso $path
Foreach ($Computer a $computers)
{
Nuovo-Underline "Impostazione password $user il $computer"
$de = [adsi] "WinNT: / / $computer/$user, utente"
$de. SetPassword($Password)
$de. SetInfo
} foreach #end
} #end se
Altro
{
Nuovo-Underline "Impostazione password $user il $computer"
$de = [adsi] "WinNT: / / $computer/$user, utente"
$de. SetPassword($Password)
$de. SetInfo
}
3
Copiare "Cambiamento-LocalUserPassword.ps1" in una cartella comoda sul Controller di dominio in modo da può essere utilizzato in PowerShell. Quindi copiare "ComputerList. txt" nella stessa cartella.
4
Aprire PowerShell utilizzando Start > programmi > PowerShell.
Se la cartella è "C:\MyScripts" digitare "cd C:\MyScripts" in PowerShell. Tyrex
".\Change-LocalUserPassword.ps1-amministratore utente-password < NuovaPassword >-percorso c:\MyScripts\computerlist.txt". Modificare < NuovaPassword > una password sicura.
Consigli & Avvertenze
- Cambiare tutte le password di amministratore locale per essere lo stesso potrebbe consentire accessi non autorizzati ai dati sui singoli computer.
- Questo dovrebbe essere tentato solo da amministratori di rete o Microsoft Certified Professional.