Скрипт Powershell для сброса TPMLockout

У нас есть ноутбуки Windows 7 Enterprise с чипами TPM. Мы развернули Bitlocker на этих ноутбуках. Я пытаюсь написать скрипт PowerShell для поиска значения msTPM-OwnerInformation для определенного компьютера в AD. Я хочу, чтобы затем принять это значение и сбросить TPMLockout.

Прямо сейчас мы должны зайти в консоль TPM и нажать кнопку сброса и указать файл XML, который содержит это значение.

Я начал писать сценарий, но он не выполняет то, что мне нужно, потому что я новичок в PowerShell.

1 ответ

Создайте новый файл с именем "Get_msTPM-OwnerInformation.ps1" и вставьте в него следующий текст.

Измените часть 'DOMAIN/OU' в соответствии с вашими потребностями. Это должно прочитать вам всю необходимую информацию из AD

#----------------------Start----------------------------------------------------------------
#Custom variables
$CsvFilePath = "C:\Temp\BitLockerComputerReport.csv"

#Create array to hold computer information
$export = @()

#Export computers not Bitlocker-enabled to a CSV-file
#$BitLockerEnabled = Get-QADObject -SizeLimit 0 -IncludedProperties cn,Name,ParentContainer,msFVE-RecoveryPassword | Where-Object {$_.type -eq “msFVE-RecoveryInformation”} | Foreach-Object {
$BitLockerEnabled = Get-QADObject -SearchRoot 'DOMAIN/OU' -SizeLimit 0 -IncludedProperties cn,Name,ParentContainer,msFVE-RecoveryPassword | Where-Object {$_.type -eq “msFVE-RecoveryInformation”} | Foreach-Object {


#Get PasswordID
$_.cn -match “(?<={).*(?=})"

#Create custom object for each computer
$computerobj = New-Object -TypeName psobject

#Add information to custom object
$computerobj | Add-Member -MemberType NoteProperty -Name Name -Value (Split-Path -Path $_.ParentContainer -Leaf)
$computerobj | Add-Member -MemberType NoteProperty -Name PasswordID -Value $matches[0]
$computerobj | Add-Member -MemberType NoteProperty -Name "msFVE-RecoveryPassword" -Value $_."msFVE-RecoveryPassword"
$computerobj | Add-Member -MemberType NoteProperty -Name "msTPM-OwnerInformation" -Value (Get-QADComputer -IncludedProperties "msTPM-OwnerInformation" -Name (Split-Path -Path $_.ParentContainer -Leaf))."msTPM-OwnerInformation"

$export += $computerobj
}

#Export the array with computerinformation to the user-specified path
$export | Export-Csv -Path $CsvFilePath -NoTypeInformation
#------------------------End--------------------------------------------------------------
Другие вопросы по тегам