首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Cmdlet调用GetChildItem

C# Cmdlet调用GetChildItem
EN

Stack Overflow用户
提问于 2018-02-15 14:59:06
回答 1查看 355关注 0票数 2

我正在写一个c# cmdlet,我需要使用Get cmdlet。Nee

如何在不调用"string PowerShell命令“的情况下从代码中调用这个cmdlet?基本上,我尝试调用c# GetChildItem代码。

代码语言:javascript
复制
[Cmdlet(VerbsCommon.Get, "SampleCmdlet")]
public class GetSampleCmdlet : Cmdlet
{
    [Parameter()]
    public string Parameter1 { get; set; }

    protected override void ProcessRecord()
    {
        //Call c# Get-ChildItem and do something with results

        //Don't want to do somthing like:
        //string stringCommand = "Get-ChildItem 'c:\\*.Txt'";
        //InvokePowerShellCommand(stringCommand);

    }

}

我只需要FileSystemProvider,但它应该是直接调用GetChildItem cmdlet的一种方式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 16:08:08

如果扩展PSCmdlet而不是Cmdlet,则可以通过InvokeProvider属性-从医生那里访问当前提供程序:

如果您的Cmdlet需要访问MSH (例如,会话状态中的变量、对主机的访问或关于当前提供程序的信息),那么您应该从PSCmdlet基类派生。

您可以通过以下方式调用Get-ChildItem提供程序cmdlet:

代码语言:javascript
复制
InvokeProvider.ChildItem.Get(@"C:\path\to\dir", false);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48810171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档