c# - 支持自定义 PowerShell cmdlet 的 Get-Help

标签 c# .net powershell

我已经在 C# 中创建了一些自定义 PowerShell Cmdlet,并想提供一些信息以使用 get-help cmdlet 显示;例如“获得帮助我的 cmdlet”。

我已经创建了一个从 PSSnapIn 派生的基本管理单元,并覆盖了描述、名称和供应商属性。我还创建了我的帮助文件“Cmdlets.dll-Help.xml”。 Cmdlets.dll 是程序集的正确名称,按照指示 here .

我创建了以下脚本来快速测试此帮助:

$ErrorActionPreference = "Stop"
$scriptFolder = Split-Path $script:MyInvocation.MyCommand.Path

$dll = ($scriptFolder + "\Release\x64\Cmdlets.dll")
Write-Host "Testing Cmdlets in $dll" -fore Green

[System.Reflection.Assembly] $assembly = [System.Reflection.Assembly]::LoadFrom($dll)
Import-Module -assembly $assembly

get-help get-latestfiles

这似乎只是打开了一些关于 cmdlet 参数的默认帮助,但未能获得我在 XML 文件中编写的任何示例。有没有人对这是为什么有任何想法?

最佳答案

我的帮助似乎有两个问题不起作用。首先是需要将 XML 复制到 Cmdlet DLL 的输出目录,以便获取 Powershell。

第二个原因似乎是我的帮助文件中的错误。我不确定这是什么,但 Powershell 似乎只是无声地失败,即使错误操作首选项设置为停止。我最终直接从 C:\Windows\System32\WindowsPowerShell\v1.0\en-US\Microsoft.PowerShell.Commands.Management.dll-Help.xml 中提取 XML 并修改它以满足我的需要。

关于c# - 支持自定义 PowerShell cmdlet 的 Get-Help,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297281/

相关文章:

c# - 从队列触发器启动 Azure 辅助角色

c# - 银光,C# : Detect when there are no more images

c# - 如何访问 .URL 文件中的 URL 和书签标题?

Powershell 中的 UNIX 时间提供 GMT

arrays - powershell中数组的正确语法是什么?

更新到 OMS 新查询语言后 Powershell Runbook 错误

c# - 如何在 C# 中使用 'do' ByVal

c# - ASP 中的弹出式警报

.net - 消息代理(Kafka、RabbitMQ)VS 服务总线(nServiceBus)

.net - 如何在模型优先上调用 Database.SetInitializer?