Hvordan ændrer jeg et kodeord med et script?

Indlæg af Hanne Mølgaard Plasc

 

1.

Kompilér en liste over computere, hvis lokale administratoradgangskode vil blive ændret. Enhver nyttig dokumentation kan bruges, eller listen kan indtastes manuelt i ethvert tekstredigeringsprogram. Brug f.eks. Filnavnet 'computerlist.txt'.

2.

Kopier scriptet nedenfor nøjagtigt som det vises, og indsæt det i en tekstfil med filnummeret 'ps1'. Brug for eksempel filnavnet 'Change-LocalUserPassword.ps1'.



u0026 lt; #

. Synopsis

Indstiller lokalt brugeradgangskode på en eller flere computere

.Deskription

Dette script angiver lokalt brugeradgangskode på en eller flere computere

Det kan læse en tekstfil af comptuernavne (en pr. linje) og

Opret forbindelse til disse computere for at ændre en lokal brugeradgangskode.

Dette script kræver administratorrettigheder.

PARAMETERS

-computer navn på computeren

-spor til computer liste. Forårsager script til at bruge filen til

computernavn

-bruger navnet på den bruger, hvis adgangskode skal nulstilles

-pasord adgangskoden til bruger

. Eksempel

Change-LocalUserPassword.ps1 -user administrator-adgangskode NewPassword

Ændrer den lokale administratoradgangskode til NewPassword på lokal computer

. Eksempel

Change-LocalUserPassword.ps1 -user bob -password NewPassword

Ændrer den lokale brugerbob-adgangskode til NewPassword på den lokale computer

. Eksempel

Change-LocalUserPassword.ps1-bruger administrator-adgangskode NewPassword

-path c: \ computerlist.txt

Ændringer Den lokale administratoradgangskode til NewPassword på hver computer i

filen c: \ computerlist.txt.

. Indtastninger

[streng]

. Udførelser

[streng]

.Notes

NAVN: Windows 7 Ressource Kit

AUTOR: Ed Wilson

LASTEDIT: 5/20/2009

KEYWORDS:

.Link

Http://www.ScriptingGuys.com

#Requires-Version 2.0

# u0026 gt;



Param (

[Parameter (Position = 0)]

[streng] < br />
$computer = $env: computernavn,

[streng]

$path,

[streng]

[Parameter (Obligatorisk = $true)]

$bruger,

[streng]

[Parameter (Obligatorisk = $true)]

$password

) #end param



# Begynd funktioner
< br />

Funktion Ny undertryk

{

u0026 lt; #

. Synopsis
< br /> Opretter en understregning af længden af ​​inputstrengen

. Eksempel

Nyunderstreget -strIN 'Hej verden'

. Eksempel < br />
Ny understrege - strIn 'Morgen welt' -char '-' -sColor 'blå' -uColor 'gul'

. Eksempel

'Dette er en streng' | Nyundertrykkelse

.Notes

NAVN:

AUTOR: Ed Wilson

LASTEDIT: 5/20/2009

KEYWORDS:

.Link

Http://www.ScriptingGuys.com

# u0026 gt;

[CmdletBinding ()]

param (

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

[streng]

$STRIN,

[streng]

$char = '=',
<

$sColor = 'Green',

[streng]

$uColor = 'darkGreen',

[switch]

$pipe

) #end param

$strLine = $char * $strIn.length

hvis (-not $pipe)

{

Skriv-vært -Forgrundskolor $sColor $strIN

Skriv-vært -ForegroundColor $uColor $strLine

}

Else

{

$strIn

$strLine

}

} #end Ny understreger funktion



funktion Test-IsAdministrator

{
u0026 lt; #

. Synopsis

Afprøver om brugeren er administrator

.Beskrivelse

Returnerer sandt, hvis en bruger er administrator, falsk hvis brugeren ikke er administrator

. Eksempel

Test-IsAdministrator

# u0026 gt;

param ()

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

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

} #end funktion Test-IsAdministrator



# *** Indgangspunkt til script ***

Hvis (-not (Test-IsAdministrator)) {Ny underline 'Admin rettigheder er nødvendige for dette script'; exit}

hvis ($path)

{

$computers = Get-Content-path $path

Foreach ($Computer i $computere)

{

New-Underline 'Indstil $brugeradgangskode på $computer'

$de = [adsi ] 'WinNT: // $computer / $bruger, bruger'

$de.SetPassword ($Password)

$de.SetInfo ()

} #end foreach

} #end hvis

Else

{

Ny understreger 'Indstilling $brugeradgangskode på $computer '

$de = [adsi]' WinNT: // $computer / $bruger, bruger '

$de.SetPassword ($Password) <

Kopier 'Change-LocalUserPassword.ps1' til en praktisk mappe på Domain Controller, så den kan bruges i PowerShell. Kopier derefter 'computerlist.txt' til den samme mappe.

4.

Åbn PowerShell ved hjælp af Start u0026 gt; Programmer u0026 gt; PowerShell.



Hvis mappen er 'C: \ MyScripts' type 'cd C: \ MyScripts' i PowerShell. Type:

'. \ Change-LocalUserPassword.ps1-bruger administrator-adgangskode u0026 lt; NewPassword u0026 gt; -path c: \ MyScripts \ computerlist.txt'. Skift u0026 lt; NewPassword u0026 gt; til en sikker adgangskode.

Tips og advarsler

  • Hvis alle de lokale administratorkoder bliver ens, kan det tillades uautoriseret adgang til data på de enkelte computere.
  • Dette bør kun forsøges af netværksadministratorer eller Microsoft Certified Professionals.
  • Windows-adgangskoder hjælper virksomheder og personer med at beskytte deres computere mod uautoriseret brug. Nogle gange kan det være nødvendigt at ændre adgangskoden på en computer eller en gruppe computere, hvis netværket er hacket eller for at forhindre, at tidligere ansatte får adgang. Hvis computeren er tilsluttet via et netværk, kan administratoren ændre adgangskoden på en liste over computere ved hjælp af dette Power Shell-script.