使用 Powershell 打开 Bitlocker,自动化设备设置

问题描述 投票:0回答:1

我有一个问题谷歌还没有给我明确的答案。我们的团队设置了一系列笔记本电脑供员工使用,我一直在编写一个 PowerShell 脚本,这将使我们的生活更轻松。目前,该脚本设置用户帐户并安装他们将使用的标准应用程序(Chrome、office、7zip)。

过去几个月我一直在关注的一项任务是打开 BitLocker。这是我们的 IT 政策所要求的,也是所有可从站点移除的设备所必需的。我们需要脚本来执行以下操作

  • 加密 C: 驱动器。
  • 使用TPM芯片并自动解锁Windows。
  • 将恢复密钥保存到可移动驱动器。
  • 我们不能使用AD或组策略

我尝试了一些不同的脚本和方法,但最有力的竞争者是:

Enable-BitLocker -EncryptionMethod Aes128 -MountPoint c: -UsedSpaceOnly -SkipHardwareTest -RecoveryKeyPath $RecoveryFolder -RecoveryKeyProtector

这似乎有效,但它将恢复密钥保存为 .BEK 文件。

我尝试了这个,但这没有给我任何东西。

Enable-BitLocker -EncryptionMethod Aes128 -MountPoint c: -UsedSpaceOnly -SkipHardwareTest -RecoveryKeyPath $RecoveryFolder -RecoveryKeyProtector -RecoveryPassword -RecoveryPasswordProtector

我还尝试使用

Manage-bde
进行以下操作:

manage-bde -on C: -recoverykey $RecoveryFolder -recoverypassword -UsedSpaceOnly

这给了我一个 .BEK 文件。

理想情况下,我想要一个包含以下内容的文件,但是如果我只获取 ID 号和密钥,那么我可以通过脚本使用这些数据来制作该文件。


BitLocker Drive Encryption recovery key�

To verify that this is the correct recovery key, compare the start of the following identifier with the identifier value displayed on your PC.

Identifier:

    00000000-0000-0000-0000-000000000000

If the above identifier matches the one displayed by your PC then use the following key to unlock your drive.

Recovery Key:

    000000-000000-000000-000000-000000-000000-000000-000000

If the above identifier doesn't match the one displayed by your PC then this isn't the right key to unlock your drive.
Try another recovery key or refer to https://go.microsoft.com/fwlink/?LinkID=260589 for additional assistance.
windows powershell security device bitlocker
1个回答
0
投票

这是一个非常大的要求,而且您提供的代码非常少。 尽管如此,这就是我使用的,最大的区别是我不会将恢复密码保存到可移动驱动器,只是因为我do使用Active Directory。 但是,一旦您熟悉 Bitlocker 对象和命令,将该功能添加到此脚本中应该不会太困难。

#Requires -Version 5.1
#Requires -RunAsAdministrator
#====================================Debug=====================================
# Do not change this line... it's helpful for debugging
Set-PSDebug -Strict
# Ensure that all references to uninitialized variables generate an error
Set-StrictMode –Version Latest
#====================================Script====================================
# Check if BitLocker is enabled
if (!(Test-Path -Path "$($env:SystemDrive)\Temp")) { New-Item -ItemType Directory -Path "$($env:SystemDrive)\" -Name "Temp" > $null }

# Check if TPM chip is enabled
$TPMEnabled=Get-WmiObject -Namespace "root\cimv2\security\MicrosoftTPM" -Class "Win32_TPM"

if ($TPMEnabled.IsEnabled_InitialValue) {
  Write-Information "TPM Enabled"
  $Volume=Get-BitLockerVolume -MountPoint $env:SystemDrive
  if ($Volume.VolumeStatus -ne [Microsoft.BitLocker.Structures.BitLockerVolumeStatus]::FullyEncrypted) {
    Write-Information "Enabling Bitlocker"
    Enable-BitLocker -MountPoint $env:SystemDrive -RecoveryPasswordProtector *> $null
  }
  else {
    #Check if metadata area is full
    Write-Information "Metadata Count = $($Volume.KeyProtector.Count) (should be 2)"
    if ($Volume.KeyProtector.Count -gt 2) {
      for ($i=2; $i -lt $Volume.KeyProtector.Count; $i++) {
        Write-Information "Removing Key Protector #$i"
        Remove-BitLockerKeyProtector -MountPoint $env:SystemDrive -KeyProtectorId $Volume.KeyProtector[$i].KeyProtectorId > $null
      }
    }
    else { Write-Information "Metadata OK" }

    #Check if bitlocker is suspended
    Write-Information "Protection Status=$($Volume.ProtectionStatus)"
    if ($Volume.ProtectionStatus -eq [Microsoft.BitLocker.Structures.BitLockerVolumeProtectionStatus]::Off) {
      Write-Information "Resuming Bitlocker"
      Resume-BitLocker -MountPoint $env:SystemDrive > $null
    }
    else { Write-Information "Bitlocker OK" }
  }
}
else { Write-Information "TPM not enabled." }
© www.soinside.com 2019 - 2024. All rights reserved.