Powershell创建会话对象

本文关键字:对象 会话 创建 Powershell | 更新日期: 2023-09-27 17:59:03

我对PowerShell非常陌生,但我有很多C#经验。我已经用C#编写了一个API包装器,我想将其公开为PowerShell Cmdlet。C#中的典型流程是相当标准的:

var client = new MyClient("username", "password");
var endpointData = client.GetSomeEndpointData();

问题是,PowerShell中这样的东西的正确流程是什么,以及如何仅在该会话中保持它。我认为它应该看起来像下面这样。

Import-Module MyClient.dll
New-MyClient "username" "password"
Get-SomeEndpointData

所以我的问题是

  1. 这是这样的"正确"流程吗
  2. 这在创建Cmdlet的C#代码中是什么样子的,特别是
    1. 应如何为当前PowerShell会话持久化MyClient实例
    2. 应该如何在其他需要MyClient实例的Cmdlet中访问该实例

需要明确的是,我不需要实际的代码(示例会很好),但我的谷歌功能可能只是今天缺乏。MSDN文档(或等效文档)就足够了。

Powershell创建会话对象

它看起来像这样:

Add-Type -Path 'c:'fullpath'to'myclient.dll'
$client = New-Object MyClient("username", "password")
$endpointData = $client.GetSomeEndpointData()