我正在尝试使用PowerShell连接virustotal API,代码来自virustotal网站,我得到了#34;无法找到类型[System.Security.Cryptography.ProtectedData]。"错误信息。
代码如下
function Get-VTApiKey {
[CmdletBinding()]
Param([String] $vtFileLocation = $(Join-Path $env:APPDATA 'virustotal.bin'))
if (Test-Path $vtfileLocation) {
$protected = [System.IO.File]::ReadAllBytes($vtfileLocation)
$rawKey = [System.Security.Cryptography.ProtectedData]::Unprotect($protected, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser)
return [System.Text.Encoding]::Unicode.GetString($rawKey)
} else {
throw "Call Set-VTApiKey first!"
}
}
经过研究后我发现我需要使用add-type来添加一些东西来解决这个问题。有什么建议我需要添加吗? 提前谢谢。
答案 0 :(得分:2)
The MSDN documentation page将程序集列为System.Security
。所以你需要:
Add-Type -AssemblyName System.Security
您可能还需要考虑System.Core
其他一些加密功能(google search lists them)
Add-Type -AssemblyName System.Core