【发布时间】:2019-01-08 12:25:06
【问题描述】:
我在 c# 中创建了一个简单的 PowerShell 模块,它实现了一些 cmdlet,我希望能够在导入模块时运行代码。
在 google 和命名空间中环顾四周,似乎没有合适的方法来做到这一点。
到目前为止,我想出的解决方法是创建一个 psm1 或 ps1 文件,该文件在加载模块并执行启动操作时运行(宁愿不使用它,因为脚本在某些将运行的环境中被阻止开)。
其他选项是我已经能够通过创建一个有效的 CmdletProvider 来做到这一点,但是在使用 new-psdrive 时它会在提供程序列表中创建一个垃圾条目。
[CmdletProvider("junkprovider", ProviderCapabilities.None)]
public class Startup : CmdletProvider
{
Public Startup()
{
// Startup code here
}
}
有没有办法正确地做到这一点,或者我将不得不使用黑客?
【问题讨论】:
标签: c# powershell cmdlets