当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 导出 Windows LAPS 密码报告

作者:精品下载站 日期:2024-12-14 03:38:02 浏览:14 分类:玩电脑

导出 Windows LAPS 密码报告


您想要获取所有 Windows LAPS 密码,以便以本地管理员身份快速登录计算机。搜索计算机以获取每台计算机的 Windows LAPS 密码需要时间。虽然这是安全的最佳实践,但有时您需要了解所有计算机及其 LAPS 密码的概览。这就是在 CSV 文件中包含所有 LAPS 密码的报告的绝佳之处。在本文中,您将了解如何导出 Windows LAPS 密码报告。

窗口圈

导出 Windows LAPS 密码 PowerShell 脚本适用于 Windows LAPS,不适用于 Microsoft LAPS(自 2023 年 10 月 23 日起已弃用)。如果您不熟悉或想了解更多信息,请阅读文章逐步配置 Windows LAPS。

使用 PowerShell 脚本获取 Windows LAPS 密码报告

Get-LAPSPasswords.ps1 PowerShell 脚本将获取 Active Directory 中计算机对象的 Windows LAPS 密码并输出以下信息:

  1. 计算机名
  2. 圈数密码
  3. 过期时间
  4. 本地管理员帐户
  5. 操作系统

下载获取 LAPSPasswords PowerShell 脚本

(C:)驱动器上创建两个文件夹:

  • Scripts
  • Temp

下载 Get-LAPSPasswords.ps1 PowerShell 脚本并将其放置在 C:\Scripts 文件夹中。该脚本会将所有 LAPS 密码导出到 C:\Temp 文件夹。

确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。

另一种选择是将以下代码复制并粘贴到记事本中。将其命名为 Get-LAPSPasswords.ps1 并将其放置在 C:\Scripts 文件夹中。

<#
    .SYNOPSIS
    Get-LAPSPasswords.ps1

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

    .LINK
    www.a-d.site/export-windows-laps-passwords-report/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.a-d.site
    LinkedIn:   linkedin.com/in/a-d

    .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
}

# Create a variable to store results
$passwords = @()

# 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
        $passwords += [PSCustomObject]@{
            ComputerName      = $computer.Name
            LapsPassword      = $password
            ExpirationTime    = $expirationTimestamp
            LocalAdminAccount = "$adminaccount"
            OperatingSystem   = $computer.OperatingSystem
        }
    }
    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
$passwords | Sort-Object ComputerName | Out-GridView -Title LapsPasswords

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

这就是它的样子。

[玩转系统] 导出 Windows LAPS 密码报告

运行获取 LAPSPasswords PowerShell 脚本

将所有 LAPS 密码导出到 CSV 文件。

C:\scripts\.\Get-LAPSPasswords.ps1 -Path "C:\temp\LAPSPasswords.csv"

这就是网格视图窗口中输出的样子。

[玩转系统] 导出 Windows LAPS 密码报告

这就是 CSV 文件的样子。

[玩转系统] 导出 Windows LAPS 密码报告

将 LAPS 密码从 OU 导出到 CSV 文件。

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

这就是网格视图窗口中输出的样子。

[玩转系统] 导出 Windows LAPS 密码报告

Windows LAPS 密码报告看起来很棒,包含所有属性!

了解更多:为本地配置 Microsoft Entra 密码保护 »

结论

您了解了如何使用 PowerShell 导出 Windows LAPS 密码报告。请记住在完成任务后轮换 LAPS 密码。如果您已经设置了将在几天内或注销后更改 LAPS 密码的策略,那么一切都很好。

您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 脚本检查 Windows 上的可用磁盘空间。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯