Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PowerShell: Użytkownicy lokalni

środa,

PowerShell: Użytkownicy lokalni

W PowerShell można zarządzać użytkownikami lokalnymi na różne sposoby. Do wykonania zdecydowanej większości prezentowanych przykładów są wymagane uprawnienia administratora. Ponadto zawsze sprawdzaj i testuj skrypty w bezpiecznym środowisku przed ich stosowaniem w produkcji.

Proste przykłady

Tworzenie nowego użytkownika lokalnego

Możesz utworzyć nowego użytkownika lokalnego za pomocą cmdletu New-LocalUser. Na przykład, aby utworzyć użytkownika o nazwie "NowyUżytkownik" z hasłem, użyj następującego polecenia:

$Password = ConvertTo-SecureString "BezpieczneHaslo123" -AsPlainText -Force
New-LocalUser "NowyUżytkownik" -Password $Password

W tym przykładzie hasło jest konwertowane na bezpieczny ciąg i przypisywane do nowo utworzonego użytkownika.

Zmiana hasła użytkownika

Aby zmienić hasło istniejącego użytkownika, użyj Set-LocalUser. Na przykład:

$NewPassword = ConvertTo-SecureString "NoweHaslo123" -AsPlainText -Force
Set-LocalUser -Name "NowyUżytkownik" -Password $NewPassword

Tutaj zmieniasz hasło dla użytkownika "NowyUżytkownik".

Dodawanie użytkownika do grupy

Możesz dodać użytkownika do grupy za pomocą Add-LocalGroupMember. Na przykład, aby dodać "NowyUżytkownik" do grupy "Administratorzy":

Add-LocalGroupMember -Group "Administratorzy" -Member "NowyUżytkownik"

Wyświetlanie listy użytkowników lokalnych

Aby wyświetlić listę wszystkich użytkowników lokalnych, użyj Get-LocalUser:

Get-LocalUser

Usuwanie użytkownika lokalnego

Aby usunąć użytkownika lokalnego, użyj Remove-LocalUser. Na przykład:

Remove-LocalUser -Name "NowyUżytkownik"

Ten kod usuwa użytkownika "NowyUżytkownik".

Dodatkowe opcje

Dodawanie użytkownika lokalnego w PowerShell może obejmować różne aspekty, takie jak ustawienie statusu konta, wymuszenie zmiany hasła przy pierwszym logowaniu, ustawienie daty wygaśnięcia konta i inne opcje.

Tworzenie użytkownika lokalnego z dodatkowymi opcjami

# Uruchamianie PowerShell jako Administrator jest wymagane do wykonania tego skryptu

# Definiowanie nazwy użytkownika i hasła
$userName = "NowyUzytkownik"
$password = ConvertTo-SecureString "BezpieczneHaslo123!" -AsPlainText -Force

# Tworzenie nowego użytkownika
$u = New-LocalUser -Name $userName -Password $password -FullName "Nowy Użytkownik" -Description "Przykładowy użytkownik lokalny" -PasswordNeverExpires:$false -UserMayNotChangePassword:$false -AccountExpires (Get-Date).AddDays(30)

# Dodawanie użytkownika do grupy "Użytkownicy"
Add-LocalGroupMember -Group "Użytkownicy" -Member $userName

# Ustawienie wymuszenia zmiany hasła przy pierwszym logowaniu
$WinNT = [adsi]"WinNT://localhost/$($u.Name)"
$WinNT.PasswordExpired = 1
$WinNT.SetInfo()

# Wyświetlanie informacji o nowo utworzonym użytkowniku
Get-LocalUser -Name $userName | Select-Object Name, PasswordNeverExpires, UserMayNotChangePassword, AccountExpires

Uwagi

  • Możesz zmienić wartości zmiennych $userName$password na odpowiadające potrzebom.
  • Skrypt ustawia różne opcje, takie jak data wygaśnięcia konta i wymóg zmiany hasła przy pierwszym logowaniu. Możesz dostosować te opcje według własnych wymagań.
  • W przypadku wystąpienia błędów, PowerShell wyświetli odpowiednie komunikaty, które pomogą zdiagnozować problem.

Omówienie skryptu

Definiowanie nazwy użytkownika i hasła:

$userName = "NowyUzytkownik"
$password = ConvertTo-SecureString "BezpieczneHaslo123!" -AsPlainText -Force
New-LocalUser -Name $userName -Password $password -FullName "Nowy Użytkownik" -Description "Przykładowy użytkownik lokalny" -PasswordNeverExpires:$false -UserMayNotChangePassword:$false -AccountExpires (Get-Date).AddDays(30)
  • New-LocalUser – tworzy nowego użytkownika z określonymi właściwościami.
  • PasswordNeverExpires $false – hasło będzie wymagało okresowej zmiany.
  • UserMayNotChangePassword $false – pozwala użytkownikowi na zmianę hasła.
  • AccountExpires – ustawia datę wygaśnięcia konta na 30 dni od obecnej daty.

Dodawanie użytkownika do grupy:

Add-LocalGroupMember -Group "Users" -Member $userName

Add-LocalGroupMember dodaje użytkownika do grupy lokalnej.

Ustawienie wymuszenia zmiany hasła przy pierwszym logowaniu:

$WinNT = [adsi]"WinNT://localhost/$($u.Name)"
$WinNT.PasswordExpired = 1
$WinNT.SetInfo()
  • [adsi] jest rzutowaniem, które informuje PowerShell, aby użył interfejsu ADSI do komunikacji z usługami katalogowymi.
  • "WinNT://localhost/$($u.Name)" określa ścieżkę dostępu do interfejsu ADSI.
  • $WinNT.PasswordExpired = 1 ustawia właściwość PasswordExpired obiektu użytkownika na 1, co oznacza, że hasło użytkownika zostało oznaczone jako wygasłe.
  • $WinNT.SetInfo() zatwierdza zmiany wykonane na obiekcie użytkownika, w tym przypadku aktualizując stan wygasłego hasła.

Sprawdzanie statusu nowo utworzonego użytkownika:

Get-LocalUser -Name $userName | Select-Object Name, PasswordNeverExpires, UserMayNotChangePassword, AccountExpires
  • Get-LocalUser – pobiera informacje o użytkowniku.
  • Select-Object – wybiera konkretne właściwości do wyświetlenia.

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Artykuł: Lenovo

Lenovo

Artykuł: Światowy Dzień Oszczędzania

Światowy Dzień Oszczędzania

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły