PowerShell 5.1 で記述された既存の PowerShell スクリプトを PowerShell 7.1 に移植したいと考えています。ただし、タイプ [Windows.Security.Credentials.PasswordCredential] が見つからないため、タイプのオブジェクトを作成できないようです。
レジストリを見ると、このクラスは次の場所に保存されていることがわかります。
- C:\Windows\System32\vaultcli.dll
- C:\Windows\SysWOW64\vaultcli.dll
しかし、これらの DLL を PS 7.1 のスクリプトに追加すると失敗します。
PS C:\Users\xxx> Add-Type -Path "C:\Windows\System32\vaultcli.dll"
Add-Type: Bad IL format. The format of the file 'C:\Windows\System32\vaultcli.dll' is invalid.
PS C:\Users\xxx> Add-Type -Path "C:\Windows\SysWOW64\vaultcli.dll"
Add-Type: Bad IL format. The format of the file 'C:\Windows\SysWOW64\vaultcli.dll' is invalid.
PowerShell 5.1 で関連するコードベース パラメーターを確認すると、次の結果が返されます。
PS C:\Users\xxx> [Windows.Security.Credentials.PasswordVault].Assembly.CodeBase
file:///C:/WINDOWS/system32/WinMetadata/Windows.Security.winmd
この型への参照を正しく追加するにはどうすればよいですか?