Em um script, preciso de uma maneira de um usuário desbloquear um volume criptografado do BitLocker.
Atualmente, o usuário digita a senha na janela do console do PowerShell ( $key = Read-Host 'BitLocker Password for $($path)' -AsSecureString
) e o volume do BitLocker está sendo desbloqueado com o Unlock-Bitlocker
cmdlet.
O que eu gostaria é um prompt de GUI padrão 'mais natural' para desbloquear o volume, como este:
Existe uma maneira de invocar esta GUI de um .cmd
/ .ps1
script? Estou pensando em algo como:
- iniciando um executável, ou seja
some-bitlocker-gui.exe /unlock C:\SomeSecurePath /askuserforpassword
- cmdlet do PowerShell
- chamando uma função em alguma DLL
Mas qualquer maneira de mostrar essa GUI nativa servirá.
Uma observação importante: isso deve funcionar não apenas para letras de unidade (como D:
), mas também para volumes montados como pastas NTFS ( como C:\SomeSecurePath
, como visto na captura de tela):
Não; essa caixa de diálogo modal está programada no código de gerenciamento do BitLocker.
Além de escrever seu próprio código, você pode escrever seu código e enviá-lo para Show-Command para uma GUI, para um usuário inserir coisas.
Um compartilhamento de pasta/rede não é uma unidade, independentemente do mapeamento da unidade na máquina do usuário. É apenas um ponteiro.
Bitlocker é a unidade completa ou nota. BitLocker significa FDE (criptografia de unidade completa) por um motivo. O acesso a uma unidade BL é tudo ou nada. BitLocker por design, se for para proteção contra ataques off-line. Depois que a unidade BitLocker é ativada, todos que podem vê-la têm acesso a ela. Você não pode BitLocker uma unidade (mapeada) para um usuário.
Você pode se conectar a uma unidade como iSCI em vez de SMB se for compatível com seu servidor de armazenamento. Obviamente, o uso do BitLocker é nativo usando unidades iSCI.
Como alternativa, considere criar um arquivo de unidade de disco virtual com o BitLocker e armazená-lo em uma unidade de rede SMB. Criptografia de pasta compartilhada, você precisa de outras ferramentas.
O comando necessário é
onde
{123e4567-e89b-12d3-a456-426614174000}
é o identificador de volume do volume BitLocker necessário.O identificador de volume pode ser obtido com
Comando do PowerShell, onde
1
é um número de volume (começando com zero).CRÉDITO: @swbbl , conforme sugerido neste comentário .