tis-audit-bitlocker
Pubblicato: 27 gennaio 2026 - 10:31
Salve,
sto riscontrando degli errori con la funzione di audit in questo pacchetto.
Su alcune delle nostre macchine, la funzione PowerShell "(Get-BitLockerVolume).MountPoint" restituisce lettere di unità insolite come: \\?\Volume{2d8e1378-6a0d-4197-49d0-fe4e2f18cd72}.
Più avanti nel codice del pacchetto, un ciclo for (for mountpoint in mountpoint_list:) ci permette di ignorare queste unità utilizzando una is_ignored.
Se la condizione ? in mountpoint è soddisfatta (if "?" in mountpoint:), la is_ignored viene impostata su True e quindi l'unità verrà ignorata per il resto della funzione di audit. Fin qui tutto bene.
Il mio problema deriva dalle altre condizioni testate successivamente nello stesso ciclo. Si tratta di ulteriori istruzioni if e quindi vengono testate anche se la prima condizione è soddisfatta. Tuttavia, ad esempio, nella seconda condizione, la funzione "Get-Volume -DriveLetter %s | Where-Object DriveType -EQ Removable" genera un errore nel pacchetto. L'errore restituito è "Get-Volume: Impossibile trovare un parametro posizionale che accetti 2d8e1378-6a0d-4197-49d0-fe4e2f18cd72", ecc.
È chiaro che l'argomento DriveLetter non accetta il nome di volume insolito che gli è stato fornito. O forse le parentesi graffe {} stanno causando un errore di sintassi.
Ho aggirato questo problema iniziando le condizioni con: if not is_ignored and. Ma mentre scrivevo questo messaggio, mi sono reso conto che probabilmente avrei ottenuto lo stesso risultato usando le istruzioni elif.
Con questa modifica, il pacchetto funziona un po' meglio. La chiave BitLocker viene recuperata da Active Directory e dalla console WAPT. Ma il controllo rimane in errore perché in seguito si verifica un nuovo errore. Questa volta con la funzione PowerShell Get-BitLockerVolume. (Get-BitLockerVolume: Impossibile trovare un parametro posizionale che accetti l'argomento...)
Non ho ancora identificato in quale riga dello script di audit si verifica questo nuovo errore. Né il motivo, dato che logicamente non dovrebbero più essere utilizzati nomi di volume strani. Ma ho pensato che valesse già la pena segnalare gli errori riscontrati in questo primo ciclo for.
Aggiungerò la causa di questo nuovo errore a questo post se riuscirò a trovarla.
Buona giornata.
Vincent
sto riscontrando degli errori con la funzione di audit in questo pacchetto.
Su alcune delle nostre macchine, la funzione PowerShell "(Get-BitLockerVolume).MountPoint" restituisce lettere di unità insolite come: \\?\Volume{2d8e1378-6a0d-4197-49d0-fe4e2f18cd72}.
Più avanti nel codice del pacchetto, un ciclo for (for mountpoint in mountpoint_list:) ci permette di ignorare queste unità utilizzando una is_ignored.
Se la condizione ? in mountpoint è soddisfatta (if "?" in mountpoint:), la is_ignored viene impostata su True e quindi l'unità verrà ignorata per il resto della funzione di audit. Fin qui tutto bene.
Il mio problema deriva dalle altre condizioni testate successivamente nello stesso ciclo. Si tratta di ulteriori istruzioni if e quindi vengono testate anche se la prima condizione è soddisfatta. Tuttavia, ad esempio, nella seconda condizione, la funzione "Get-Volume -DriveLetter %s | Where-Object DriveType -EQ Removable" genera un errore nel pacchetto. L'errore restituito è "Get-Volume: Impossibile trovare un parametro posizionale che accetti 2d8e1378-6a0d-4197-49d0-fe4e2f18cd72", ecc.
È chiaro che l'argomento DriveLetter non accetta il nome di volume insolito che gli è stato fornito. O forse le parentesi graffe {} stanno causando un errore di sintassi.
Ho aggirato questo problema iniziando le condizioni con: if not is_ignored and. Ma mentre scrivevo questo messaggio, mi sono reso conto che probabilmente avrei ottenuto lo stesso risultato usando le istruzioni elif.
Con questa modifica, il pacchetto funziona un po' meglio. La chiave BitLocker viene recuperata da Active Directory e dalla console WAPT. Ma il controllo rimane in errore perché in seguito si verifica un nuovo errore. Questa volta con la funzione PowerShell Get-BitLockerVolume. (Get-BitLockerVolume: Impossibile trovare un parametro posizionale che accetti l'argomento...)
Non ho ancora identificato in quale riga dello script di audit si verifica questo nuovo errore. Né il motivo, dato che logicamente non dovrebbero più essere utilizzati nomi di volume strani. Ma ho pensato che valesse già la pena segnalare gli errori riscontrati in questo primo ciclo for.
Aggiungerò la causa di questo nuovo errore a questo post se riuscirò a trovarla.
Buona giornata.
Vincent