我正在尝试使用“GET-PSDrive”命令通过 PowerShell 6.0 获取服务器的驱动器信息。直接在 PowerShell 中运行命令,我在输出表中看到“已用”和“免费”的值,但在代码中运行相同的命令虽然使用 Microsoft.Powershell.Sdk,但“已用”和“免费”字段不是可用的。
我看到 PSObject.Properties 数组下列出的两个项目,但尝试访问我收到异常的值:
“没有可用于在此线程中运行脚本的运行空间。您可以在 System.Management.Automation.Runspaces.Runspace 类型的 DefaultRunspace 属性中提供一个。您尝试调用的脚本块是:##”
以下是我正在使用的 POC 代码:
using (var psCon = PowerShell.Create())
{
psCon.AddCommand("GET-PSDrive");
var psReturn = psCon.Invoke();
foreach (var psObj in psReturn)
{
var driveUsedValue = psObj.Properties["Used"].Value;
}
}
我期望获得该属性的值,但每次评估该值时,我都会收到一条错误消息,指出没有可用的运行空间。检查该属性,我确实看到它是一个 ScriptProperty,那么您如何获取生成的值呢?
喵喵时光机
暮色呼如
随时随地看视频慕课网APP
相关分类