
Я пытаюсь изучить функциональность класса Win32_EncryptableVolume (https://learn.microsoft.com/en-us/windows/win32/secprov/win32-encryptablevolume). Я создал виртуальную машину для этой цели и защитил ее с помощью простого пароля Bitlocker (без TPM).
Я создал следующий скрипт PowerShell. Я знаю, что идентификатор протектора ключа правильный (проверено с помощью GetKeyProtectors и из этого файла Bitlocker печатает файл ключа восстановления, который 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 выдает следующий вывод для ошибки 2147746291:
# for decimal -2147221005 / hex 0x800401f3
CO_E_CLASSSTRING winerror.h
# Invalid class string
# 1 matches found for "2147746291"
Я не уверен, почему строка класса неверна?