Eksportuj raport haseł Windows LAPS

Chcesz uzyskać wszystkie hasła systemu Windows LAPS, aby szybko zalogować się na komputerach jako administrator lokalny. Wyszukiwanie komputera w celu uzyskania hasła Windows LAPS dla każdej maszyny wymaga czasu. Chociaż jest to najlepsza praktyka pod względem bezpieczeństwa, czasami potrzebujesz przeglądu wszystkich komputerów i ich haseł LAPS. W tym przypadku raport ze wszystkimi hasłami LAPS w pliku CSV jest doskonały. W tym artykule dowiesz się, jak wyeksportować raport haseł Windows LAPS.

LAPS Windowsa

Skrypt programu PowerShell do eksportowania haseł systemu Windows LAPS jest przeznaczony dla systemu Windows LAPS, a nie Microsoft LAPS (przestarzały od 23 października 2023 r.). Jeśli nie znasz lub chcesz dowiedzieć się więcej na ten temat, przeczytaj artykuł Konfiguruj Windows LAPS krok po kroku.

Uzyskaj raport haseł Windows LAPS za pomocą skryptu PowerShell

Skrypt Get-LAPSPasswords.ps1 PowerShell pobierze hasła Windows LAPS dla obiektów komputerów w Active Directory i wyświetli poniższe informacje:

  1. Nazwa komputera
  2. Hasło okrążeń
  3. Czas ważności
  4. Konto lokalnego administratora
  5. System operacyjny

Pobierz skrypt PowerShell Get LAPSPasswords

Utwórz dwa foldery na(C:)prowadzić:

  • Skrypty
  • Temp

Pobierz i umieść skrypt Get-LAPSPasswords.ps1 PowerShell w plikuC: Skryptyfalcówka. Skrypt wyeksportuje wszystkie hasła LAPS do plikuC: Tempfalcówka.

Polecana lektura:Eksportuj raport dotyczący członków ról administracyjnych platformy Microsoft 365

Upewnij się, że plik jest odblokowany, aby zapobiec błędom podczas uruchamiania skryptu. Przeczytaj więcej w artykule Błąd braku podpisu cyfrowego podczas uruchamiania skryptu PowerShell.

Inną opcją jest skopiowanie i wklejenie poniższego kodu do Notatnika. Podaj nazwęPobierz-LAPSPasswords.ps1i umieść go wC: Skryptyfalcówka.

<#
    .SYNOPSIS
    Get-LAPSPasswords.ps1

    .DESCRIPTION
    Export Windows LAPS Passwords to CSV file with PowerShell.

    .LINK
    www.alitajran.com/export-windows-laps-passwords-report/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 07/23/2024 - Initial version
#>

param (
    [Parameter(Mandatory = $true)]
    [string]$Path, # Mandatory parameter for the CSV file path
    [string]$OU # Optional parameter to specify the OU
)

# Determine the base for the search
if ($OU) {
    # If OU is provided, get computers from the specified OU
    $computers = Get-ADComputer -Filter * -SearchBase $OU -Properties OperatingSystem | Select-Object Name, OperatingSystem
}
else {
    # If OU is not provided, get computers from all OUs
    $computers = Get-ADComputer -Filter * -Properties OperatingSystem | Select-Object Name, OperatingSystem
}

# Initialize a List to store the data
$Report = [System.Collections.Generic.List[Object]]::new()

# Loop through each computer and get the LAPS password and additional details
foreach ($computer in $computers) {
    try {
        # Attempt to get the LAPS password for the computer
        $passwordObject = Get-LapsADPassword $computer.Name -AsPlainText
        $password = $passwordObject.Password
        $adminaccount = $passwordObject.Account
        $expirationTimestamp = $passwordObject.ExpirationTimestamp

        # Store the computer name, password, expiration timestamp, local admin account, and operating system in a custom object
        $ReportLine = [PSCustomObject]@{
            ComputerName      = $computer.Name
            LapsPassword      = $password
            ExpirationTime    = $expirationTimestamp
            LocalAdminAccount = "$adminaccount"
            OperatingSystem   = $computer.OperatingSystem
        }
        $Report.Add($ReportLine)
    }
    catch {
        # If there's an error, output a warning
        Write-Host "Failed to get details for $($computer.Name): $_" -ForegroundColor Red
    }
}

# Output the results in a grid view
$Report | Sort-Object ComputerName | Out-GridView -Title LapsPasswords

# Export the results to a CSV file
$Report | Sort-Object ComputerName | Export-Csv -Path $Path -Encoding UTF8 -NoTypeInformation

Tak to wygląda.

Uruchom skrypt PowerShell Get LAPSPasswords

Aby wyeksportować wszystkie hasła LAPS do pliku CSV.

C:scripts.Get-LAPSPasswords.ps1 -Path "C:tempLAPSPasswords.csv"

Tak wyglądają dane wyjściowe w oknie widoku siatki.

Tak wygląda plik CSV.

Aby wyeksportować hasła LAPS z plikuLUBdo pliku CSV.

C:scripts.Get-LAPSPasswords.ps1 -Path "C:tempLAPSPasswordsOU.csv" -OU "OU=WIN10,OU=Computers,OU=Company,DC=exoip,DC=local"

Tak wyglądają dane wyjściowe w oknie widoku siatki.

Raport haseł Windows LAPS wygląda świetnie ze wszystkimi właściwościami!

Wniosek

Nauczyłeś się, jak eksportować raport haseł Windows LAPS za pomocą programu PowerShell. Pamiętaj o zmianie hasła LAPS po zakończeniu zadania. Jeśli masz już skonfigurowaną politykę, która zmieni hasło LAPS w ciągu kilku dni lub po wylogowaniu, wszystko jest w porządku.

Czy podobał Ci się ten artykuł? Może Ci się także spodobać Sprawdź wolne miejsce na dysku w systemie Windows za pomocą skryptu PowerShell. Nie zapomnij nas obserwować i udostępnić ten artykuł.

Related Posts