0

C# を使用して PowerShell コンソールにリモートで接続しています。

using (Runspace remoteRunspace = RunspaceFactory.CreateRunspace(setUpConnection()))
{
    remoteRunspace.Open();
    using (PowerShell powershell = PowerShell.Create())
    {
        powershell.Runspace = remoteRunspace;

        DateTime dateTime = GetTime(powershell);  // <------ How to implement?
    }
    remoteRunspace.Close();
}

Get-Date PowerShell コマンドを呼び出して、どうにかして にキャストPSObjectしたいと考えていますDateTime。この問題を解決する「通常の」方法は何ですか?

4

1 に答える 1

0

PSObject.BaseObjectプロパティを使用します。

using (Runspace remoteRunspace = RunspaceFactory.CreateRunspace(setUpConnection()))
{
    remoteRunspace.Open();
    using (PowerShell powershell = PowerShell.Create())
    {
        powershell.Runspace = remoteRunspace;

        DateTime dateTime = (DateTime)powershell.Invoke().Single().BaseObject;
    }
    // No need to close runspace; you are disposing it.
}
于 2014-09-18T14:06:08.690 に答える