小编rvs*_*s01的帖子

PowerShell自定义提供程序RemoveItem

我正在实现自定义PowerShell提供程序.我现在正在处理remove-item cmdlet实现.

RemoveItem方法具有以下签名:

protected override void RemoveItem(string path, bool recurse)
Run Code Online (Sandbox Code Playgroud)

当我输入:Remove-Item .\Myobject -recursePowerShell基础结构为我提供了RemoveItem方法truerecurse参数值.

但是当我输入:Remove-Item.\ MyObject'我得到一个问题:

MyObject中的项目具有子项,未指定Recurse参数.如果继续,所有孩子将被移除该项目.你确定你要继续吗?[Y]是[A]是全部[N]否[L]否全部[S]暂停[?]帮助(默认为"Y"):

我想这个问题是由PowerShell基础设施呈现给我的.这非常好,因为我要删除的对象是一个容器.如果我对上述问题的回答是肯定的,那么PowerShell基础结构不会设置recurse参数.事实上,当RemoveItem调用我的方法时它是错误的.我会除了参数是真的,因为我对问题的回答是肯定的.

我的问题是:

  1. 为什么PowerShell没有将bool recurse参数设置为正确的值?

  2. 我是否需要以其他方式获得价值(回答问题)?怎么样?

  3. 如果以上是不可能的,有没有办法压制这个问题?

powershell powershell-provider

2
推荐指数
1
解决办法
3366
查看次数

标签 统计

powershell ×1

powershell-provider ×1