I once wrote an article about scripted deployment of Bitlocker: https://www.experts-exchange.com/articles/33771/We-have-bitlocker-so-we-need-MBAM-too.html
The essence:
I recommend to deploy a scheduled task “at least Windows 7” via GPOs.
It would look like this:
Task name: BL (name it as you want, but please don’t forget to change the name in the last script line)
Triggers: at logon of any user
Executing account: system
Action: powershell.exe
with the argument \\server\share\BL.ps1
The task would be set up to “apply once and do not reapply”
That share would need to be read-only for computer accounts, writable only for admins.
The script would create a random PIN for pre-boot authentication and save the PIN to a text file on another share “pins”, which is writable for domain computers, but not readable for them as people (local admins) able to impersonate the system account must not discover other computers’ PINs.
The script \\server\share\BL.ps1
goes
$pin=(Get-Random -Minimum 0 -Maximum 999999).ToString('000000')
echo "$pin" | out-file \\server\pins\$env:computername.txt -Append
$SecureString = ConvertTo-SecureString "$pin" -AsPlainText -Force
Add-BitlockerKeyProtector -MountPoint "C:" -Pin $SecureString -TPMandPinProtector
msg * /time:0 Your hard drive is being encrypted. To start your PC, you need your Bitlocker-PIN, which is $pin
manage-bde -on c: -s -used -rp
schtasks /delete /tn BL /f
So what happens at script execution, is that a popup would appear and name the PIN.