Hvordan kan jeg endre et passord Med Script du?
Windows-passord hjelpe bedrifter og folk beskytte sine datamaskiner mot uautorisert bruk. Men noen ganger kan det være nødvendig å endre passordet på en datamaskin eller gruppe av datamaskiner hvis nettverket er hacket eller for å hindre tidligere ansatte får tilgang. Hvis datamaskinene er koblet via et nettverk, kan administratoren endre passordet på en liste over maskiner som bruker denne kraften Shell script.
Bruksanvisning
1 Kompilere en liste over datamaskiner som lokal administrator passord vil bli endret. Enhver nyttig dokumentasjon kan brukes eller listen kan skrives manuelt inn i hvilken som helst tekst editor. Bruk filnavn "computerlist.txt" for eksempel.
2 Kopier skriptet nedenfor nøyaktig slik den vises, og lime den inn i en tekstfil med utvidelsen "ps1." For eksempel bruke filnavnet "Change-LocalUserPassword.ps1".
<#
.Synopsis
Sets local user password on one or more computers
.Beskrivelse
This script sets local user password on one or more computers
Den kan lese en tekstfil av comptuer navn (én per linje) og
koble til disse maskinene for å endre en lokal brukerpassord.
Dette skriptet krever administratorrettigheter.
PARAMETRE
-Datamaskin navnet på maskinen
-path banen til datamaskinen listen. Årsaker script å bruke fil for
datamaskinnavn
-user navnet på brukeren som passord er tilbakestilles
-password passordet til brukeren
.Eksempel
Change-LocalUserPassword.ps1 -user administrator -password NewPassword
Endrer lokal administratorpassord for å NewPassword på lokal datamaskin
.Eksempel
Change-LocalUserPassword.ps1 -user bob -password NewPassword
Endrer den lokale brukeren bob passord for å NewPassword på lokal datamaskin
.Eksempel
Change-LocalUserPassword.ps1 -user administrator -password NewPassword
-path c: \ computerlist.txt
Endrer lokal administratorpassord for å NewPassword på hver datamaskin i
c: \ computerlist.txt fil.
.Inputs
[string]
.OutPuts
[string]
.Notes
NAME: Windows 7 Resource Kit
FORFATTER: Ed Wilson
LASTEDIT: 5/20/2009
Nøkkelord:
.link
Http://www.ScriptingGuys.com
Krever -Versjon 2,0>
Param (
[Parameter(Position=0)]
[String]
$ Datamaskin = $ env: datamaskinnavn,
[String]
$ Banen,
[String]
[Parameter (Obligatorisk = $ true)]
$ Bruker,
[String]
[Parameter (Obligatorisk = $ true)]
$ passord
) #END Param
Begynn Funksjoner
fungere New-Understreket
{
<#
.Synopsis
Oppretter en understreking lengden på input-strengen
.Eksempel
New-Understreket -strIN "Hello world"
.Eksempel
New-Understreket -strIn "Morgen welt" -char "-" -sColor "blå" -uColor "gul"
.Eksempel
"Dette er en streng" | New-Understreket
.Notes
NAVN:
FORFATTER: Ed Wilson
LASTEDIT: 5/20/2009
Nøkkelord:
.link
Http://www.ScriptingGuys.com
>
[CmdletBinding ()]
param (
[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]
[String]
$ Sn,
[String]
$ Char = "=",
[String]
$ SColor = "Green",
[String]
$ UColor = "darkGreen",
[bytte om]
$ rør
) #END Param
$ StrLine = $ char * $ strIn.length
if (-ikke $ pipe)
{
Skrive Host -ForegroundColor $ sColor $ sn
Skrive Host -ForegroundColor $ uColor $ strLine
}
Ellers
{
$ sn
$ strLine
}
} #END New-Understreket funksjon
Funksjonen Test-IsAdministrator
{
<#
.Synopsis
Tester om brukeren er en administrator
.Beskrivelse
Returnerer sann hvis en bruker er en administrator, usann hvis brukeren ikke er en administrator
.Eksempel
Test-IsAdministrator
#>
param ()
$ CurrentUser = [Security.Principal.WindowsIdentity] :: GetCurrent ()
(New-Object Security.Principal.WindowsPrincipal $ currentUser) .IsInRole ([Security.Principal.WindowsBuiltinRole] :: Administrator)
} #END Funksjon Test-IsAdministrator
Entry Point til skript
Hvis (-ikke (Test-IsAdministrator)) {New-underline "Administratorrettigheter kreves for dette skriptet"; exit }
if ($ bane)
{
$ datamaskiner = Get-Content -path $ path
Foreach ($ datamaskin i $ datamaskiner)
{
New-Understreket "Stille $ brukerpassord på $ datamaskin"
$ De = [ADSI] "WinNT: // $ datamaskin / $ bruker, bruker"
$ De.SetPassword ($ passord)
$ De.SetInfo ()
} #END Foreach
} #slutt om
Ellers
{
New-Understreket "Stille $ brukerpassord på $ datamaskin"
$ De = [ADSI] "WinNT: // $ datamaskin / $ bruker, bruker"
$ De.SetPassword ($ passord)
$ De.SetInfo ()
}
3 Kopier "Change-LocalUserPassword.ps1" i en praktisk mappe på Domain Controller slik at den kan brukes i Powershell. Deretter kopierer "computerlist.txt" i samme mappe.
4 Åpen Powershell bruker Start> Programmer> Powershell.
Hvis mappen C: \ MyScripts "type" cd C: \ MyScripts "i Powershell Type.:
"\ Change-LocalUserPassword.ps1 -user administrator -password <NewPassword> -path c:. \ MyScripts \ computerlist.txt". Endre <NewPassword> til et sikkert passord.
Hint
- Endre alle de lokale administratorpassord for å være det samme kan tillate uautorisert tilgang til data på individuelle datamaskiner.
- Dette bør kun gjøres av nettverksadministratorer eller Microsoft Certified Professionals.