Bitlocker, déverouiller un lecteur mappé sur un répertoire NTFS

Bitlocker, déverouiller un lecteur mappé sur un répertoire NTFS - Win 7 - Windows & Software

Marsh Posté le 27-04-2012 à 19:38:57    

Hello,
 
J'utilise la commande manage-bde pour déverrouiller les lecteurs bitlocker.
Cependant, lorsqu'un lecteur n'est pas associé à une LETTRE de lecteur de type E: D: etc ... mais associé à un répertoire NTFS, je n'arrive pas à déverrouiller le lecteur via la commande.
 
J'ai cherché dans les doc crosoft, à priori, c'est uniquement en passant le paramètre DRIVE de type C: E: D: etc ... autrement on ne peut utiliser manage-bde.
 
Avez vous une idée ?
 
Merci.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 27-04-2012 à 19:38:57   

Reply

Marsh Posté le 28-04-2012 à 20:58:36    

Hmm pas d'idée comme ça, peut être en passant par un VBS

Reply

Marsh Posté le 28-04-2012 à 21:47:52    

Mais que ferai le VBS ? il montrait le périphérique sur une lettre pour le démonter après l'avoir déverrouiller ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 28-04-2012 à 21:55:06    

Ou appellerai la méthode de dévérouillage directement si elle existe

Reply

Marsh Posté le 28-04-2012 à 23:01:42    

on peut déverrouiller un périphérique si ce dernier est associé à un rep NTFS dans le gestionnaire de bitlocker.
 
Mais je souhaite le faire en ligne de commande.
Sauf que cette ligne de commande ne me permet que de passer une lettre de lecteur en paramètre et non un répertoire NTFS.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 09:58:42    

J'ai pas dit le contraire.
 
Tu as la classe WMI Win32_EncryptableVolume
http://msdn.microsoft.com/en-us/li [...] 85%29.aspx et les méthodes pour unlock un volume selon comment tu l'as protégé.

Reply

Marsh Posté le 29-04-2012 à 16:06:58    

Je@nb a écrit :

J'ai pas dit le contraire.
 
Tu as la classe WMI Win32_EncryptableVolume
http://msdn.microsoft.com/en-us/li [...] 85%29.aspx et les méthodes pour unlock un volume selon comment tu l'as protégé.


 
J'ai essayé avec les exemples, de déverrouiller un lecteur avec les méthodes proposées et je ne m'en sorts pas avec VBs.
 
J'essai bêtement la méthode : UnlockWithNumericalPassword
J'ai un syntaxe error ou chaîne qui ne se termine pas correctement, ou erreur de compilation, sans plus de précision.
 
J'ai repris l'exemple du site :
 

Code :
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption" )
  3. Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_EncryptableVolume",,48)
  4. Dim arEncryptionMethod
  5. arEncryptionMethod = Array("None", "AES 128 With Diffuser", "AES 256 With Diffuser", "AES 128", "AES 256" )
  6. Dim arProtectionStatus
  7. arProtectionStatus = Array("Protection Off", "Protection On", "Protection Unknown" )
  8. Dim arConversionStatus
  9. arConversionStatus = Array("Fully Decrypted", "Fully Encrypted", "Encryption In Progress", "Decryption In Progress", "Encryption Paused", "Decryption Paused" )
  10. Dim arLockStatus
  11. arLockStatus = Array("Unlocked", "Locked" )
  12. For Each objItem in colItems
  13. Dim EncryptionMethod
  14. Dim ProtectionStatus
  15. Dim ConversionStatus
  16. Dim EncryptionPercentage 'Percentage of the volume that is encrypted
  17. Dim VolumeKeyProtectorID
  18. Dim LockStatus
  19. objItem.GetEncryptionMethod EncryptionMethod
  20. objItem.GetProtectionStatus ProtectionStatus
  21. objItem.GetConversionStatus ConversionStatus, EncryptionPercentage
  22. objItem.GetKeyProtectors 0,VolumeKeyProtectorID
  23. objItem.GetLockStatus LockStatus
  24. Wscript.Echo "DriveLetter: " & objItem.DriveLetter
  25. Wscript.Echo "PersistentVolumeID: " & objItem.PersistentVolumeID
  26. WScript.Echo "DeviceID: " & objItem.DeviceID
  27. objItem.UnlockWithNumericalPassword("ma chaîne de 48 chiffres" )
  28. For Each objId in VolumeKeyProtectorID
  29.    Dim VolumeKeyProtectorFriendlyName
  30.    objItem.GetKeyProtectorFriendlyName objId, VolumeKeyProtectorFriendlyName
  31.    If VolumeKeyProtectorFriendlyName <> "" Then
  32.       Wscript.Echo "KeyProtectors: " & VolumeKeyProtectorFriendlyName
  33.     End If
  34.   Next
  35. Next


 
Encore une petite aide pour combler mon manque de compétence en VBs :( ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 16:12:44    

Tu as bien séparé tes groupes de chiffres par un - ou un espace ? http://msdn.microsoft.com/en-us/li [...] 85%29.aspx

Reply

Marsh Posté le 29-04-2012 à 16:23:43    

Je@nb a écrit :

Tu as bien séparé tes groupes de chiffres par un - ou un espace ? http://msdn.microsoft.com/en-us/li [...] 85%29.aspx


Tout à fait, j'ai juste masqué la clé ;).
 
Cependant, il ne me dit pas que la clé est invalide, ce sont des erreurs un peu plus ennuyeuses, syntaxe error, compilation error selon le cas.
Car j'ai essayé avec double cote simple cote sans cote.
 
Je précise que j'ai rajouté l'appel à UnlockWithNumericalPassword.
L'exemple de microsoft ne fait pas appel à cette méthode et liste juste les propriétés des disques.


Message édité par Clarkent le 29-04-2012 à 16:25:28

---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 17:02:51    

J'ai pas d'erreurs perso, faut juste lancer en admin.
Par contre vu que j'ai pas de disque autre que le système bitlocké ça fait rien.
 
Il faut que tu prennes que le disque que tu veux et pas tous. Tu peux utiliser le persistentdrive pour récupérer l'id

Reply

Marsh Posté le 29-04-2012 à 17:02:51   

Reply

Marsh Posté le 29-04-2012 à 17:37:20    

Je@nb a écrit :

J'ai pas d'erreurs perso, faut juste lancer en admin.
Par contre vu que j'ai pas de disque autre que le système bitlocké ça fait rien.
 
Il faut que tu prennes que le disque que tu veux et pas tous. Tu peux utiliser le persistentdrive pour récupérer l'id


 
En prenant le script que j'ai fournit, avec la ligne en rouge appelant la méthode pour déverrouiller avec la clé de 48 chiffres tu n'as aucune erreur ?
J'ai une erreur de compilation, que je sois en admin ou non.
 
Quel intérêt de persistentdrive vu que je ne souhaite pas mappé le périphérique via une lettre de lecteur mais uniquement avec un répertoire ntfs ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 17:49:26    

Parce que tu peux pas récupérer le mount point.
 
Non j'ai pas d'erreurs en faisant un copié collé de ton script

Reply

Marsh Posté le 29-04-2012 à 18:05:42    

Es tu sous 7 64bits ?
 
Je n'avais pas saisi, tu préconise d'utiliser le PersistenDrive pour récupérer le disque que je veux, et ne travailler que sur ce dernier ?
 
Vu que j'ai déjà une erreur rien qu'avec le script donné plus haut :/.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 18:15:18    

Yes 7 64bit :

C:\Temp>cscript test.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
 
DriveLetter: E:
PersistentVolumeID:
DeviceID: \\?\Volume{e4213487-fe30-11de-be48-806e6f6e6963}\
DriveLetter:
PersistentVolumeID:
DeviceID: \\?\Volume{e4213488-fe30-11de-be48-806e6f6e6963}\
DriveLetter: C:
PersistentVolumeID:
DeviceID: \\?\Volume{e4213486-fe30-11de-be48-806e6f6e6963}\
DriveLetter: F:
PersistentVolumeID:
DeviceID: \\?\Volume{e4213489-fe30-11de-be48-806e6f6e6963}\

Reply

Marsh Posté le 29-04-2012 à 19:02:41    

Bein, merci, mais faut que je comprenne pourquoi j'ai une erreur là où tu n'en as pas :(.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 19:17:50    

C'est ptetre parce que j'ai pas de lecteurs bitlocké ici.
Tu as quoi comme info d'erreur de compilation ? normalement tu as entre parenthèse la ligne de l'erreur.

Reply

Marsh Posté le 29-04-2012 à 21:22:40    

Après multiple essai et un copier coller ... Il y avait un caractère invisible qui s'était immiscé, du coup il aimait pas ce caractère.
Je poursuis, et peut être que ce sera la solution.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 21:36:29    

yep ça marche sur un répertoire NTFS.
 
Merci pour ton aide.
 
Maintenant, me faut exécuter ce script à distance :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 21:54:11    

remplace strcomputer="." par "monnomdepc" ;)

Reply

Marsh Posté le 29-04-2012 à 23:03:37    

J'espérais tellement que ce soit si simple.
 
Mais non, des problèmes de droits.
C'est un seven 64 vers un seven 32.
 
Le monde du script n'est pas mon domaine du tout, et wmi j'en ai fait rapidement il y a 10 ans.
 
J'ai essayé de modifier les droits WMI, sans succès.
 
J'ai remplacé cette ligne :

Code :
  1. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption" )


 
Par celle ci :

Code :
  1. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2\Security\MicrosoftVolumeEncryption" )


 
Mais j'ai un accès refusé avec ces infos :

Code :
  1. root\cimv2\Security\MicrosoftVolumeEncryption


Si je m'arrête là :

Code :
  1. \root\cimv2


j'ai les droits mais ça plante plus bas.
 
J'ai modifié les droits concernant WMI dans le windows distant.
 
Mais impossible d'exécuter pour le moment le script à distance :(.
 
Aurais tu une suggestion ?
 
Merci.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 23:12:11    

Hmmm pas en tête. Tu es en domaine ?
Peut être l'UAC sinon.
 
Sinon tu peux toujours faire du psexec :)

Reply

Marsh Posté le 29-04-2012 à 23:24:42    

non pas de domaine.
 
PSEXEC était une de mes premières tentatives, mais l'argument -c ne semble pas fonctionner pour un VBS.
 
Ligne de de commande :

Code :
  1. psexec \\MonOrdi -u MonUser -c MonScript.vbs


 
Il me demande mon mot de passe et me retourne l'erreur suivante :

Code :
  1. PsExec could not start MonScript.vbs on MonOrdi :
  2. Le fichier spécifié est introuvable.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 29-04-2012 à 23:42:02    

Hmmm en le copiant d'abord sur le poste au pire non ? et essaie avec -h pour passer l'UAC si besoin.
 
Sinon en WMI essaie:  
Set objServices = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" & strComputer & "\root\cimv2\Security\MicrosoftVolumeEncryption" )

Reply

Marsh Posté le 30-04-2012 à 00:15:31    

Avec :

Code :
  1. psexec \\MonOrdi -u MonUser -h -c MonScript.vbs


 
Même problème que précédemment.
 
Cependant, ce que tu suggères :

Code :
  1. Set objServices = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" & strComputer & "\root\cimv2\Security\MicrosoftVolumeEncryption" )


 
Fonctionne correctement ;).
 
Qu'est ce que cela ajoute ?
Pour le coup j'ai laissé les droits WMI par défaut.
 
Merci beaucoup pour ta participation et trouver l'astuce ;).


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 30-04-2012 à 00:18:37    

Le authenticationLevel=pktPrivacy indique que les objets que j'essaie d'atteindre demande qu'on crypte les échanges ?
Comment le savoir avant de galérer, il n'y a pas une erreur qui dit "demande un niveau d'authentification pktPrivacy" par exemple.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 30-04-2012 à 09:52:11    

Sur http://msdn.microsoft.com/en-us/li [...] 85%29.aspx c'est indiqué :
 

Citation :

To use the Win32_EncryptableVolume methods, the following conditions must be met:
 
    You must have administrator privileges.
    Connection encryption must be able to connect to the provider.
 
    For more information about creating an encrypted connection, see Requiring an Encrypted Connection to a Namespace.


Donc c'est là où j'ai capté qu'il fallait chiffrer la connexion d'où le authenticationlevel=pktPrivacy

Reply

Marsh Posté le 30-04-2012 à 13:55:34    

Je l'avais complètement zappé.
Merci pour ton aide.


Message édité par Clarkent le 30-04-2012 à 13:55:45

---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed