
Estoy jugando tratando de aprender la funcionalidad de la clase Win32_EncryptableVolume (https://learn.microsoft.com/en-us/windows/win32/secprov/win32-encryptablevolume). Creé una máquina virtual para ese propósito y la protegí usando una contraseña simple de Bitlocker (sin TPM).
He creado el siguiente script de PowerShell. Sé que la ID de Key Protector es correcta (verificada usando GetKeyProtectors y desde ese archivo Bitlocker imprime con el archivo de clave de recuperación que crea Bitlocker).
# Namespace is per the Microsoft documentation
$wmi = Get-WmiObject -Namespace "ROOT\CIMV2\Security\MicrosoftVolumeEncryption" -Class Win32_EncryptableVolume
$keyProtectorID = "{C0B908CA-CC22-4A65-B61E-3257D4B5176C}"
#Folder path is only the folder, not the actual filename as specified in the documentation
$folderPath = "C:\tmp"
Invoke-WmiMethod -InputObject $wmi -Name SaveExternalKeyToFile -ArgumentList $keyProtectorID, $folderPath
#Output is as follows:
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 2147746291
PSComputerName :
WinErr proporciona el siguiente resultado para el error 2147746291:
# for decimal -2147221005 / hex 0x800401f3
CO_E_CLASSSTRING winerror.h
# Invalid class string
# 1 matches found for "2147746291"
¿No estoy seguro de por qué la cadena de clase es incorrecta?