问题标签 [cmdlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
351 浏览

c# - 如何将 cmdlet 参数(字符串)转换为任何其他类型

我想将自定义类型的参数传递给我的 cmdlet。我声明这样的参数:

但是当我使用参数运行 cmdlet 时(例如:Get-Store VS),我得到一个异常:

无法绑定参数“身份”。无法将“System.String”类型的“VS”值转换为“R.Management.StoreIdParameter”类型。

我创建了 StoreIdParameter 的构造函数,它接受 String 但没有帮助。它应该是从字符串到我的类型的某种类型转换器吗?

0 投票
4 回答
11261 浏览

powershell - 较短版本的 powershell cmdlet 参数

鉴于我的研究,我不相信以下是容易完成的,如果有的话。然而,作为最后的手段,我想我会在这里检查。

在 Powershell 2.0 中,我想要一种将参数的(令人讨厌的)长名称减少为各种 cmdlet 的方法。我想绝对控制速记版本的外观。(而不是成为 PS 使用的任何参数缩写方案的奴隶。)

所以,例如,我希望能够做这样的事情:

我最接近此功能的方法是什么,如何实现?我无法使用“get-help about_parameters”找到有关参数缩写的任何信息。

谢谢!

0 投票
1 回答
5075 浏览

powershell - Appfabric Powershell 错误“术语 'Get-CacheStatistics' 未被识别为 cmdlet 的名称..”

我正在调用以下简单的 Powershell AppFabric 命令:

脚本只包含:

我收到以下错误:

我已经完成了我可以在网上找到的所有内容,包括

并使用 .\ 来引用文件:

并将环境路径设置为包含 c:\Scripts

但是错误一直存在。任何人都可以帮忙,因为我已经用完了所有谷歌选项。谢谢。

0 投票
1 回答
3502 浏览

powershell - 如何在托管的 powershell 环境中以编程方式注册 powershell 管理单元?

我开发了一些 powershell cmdlet 和提供程序,还开发了一个应用程序来托管 powershell 环境。我想在这个托管的 powershell 环境中运行这些 cmdlet 和提供程序。我想知道这是否可行以及如何注册我的自定义管理单元。谢谢您的帮助。

0 投票
3 回答
2767 浏览

c# - 托管的 PowerShell 看不到同一程序集中的 Cmdlet

我正在尝试从我的 C# 代码运行 PowerShell 脚本,这将使用运行它们的程序集中的自定义 Cmdlet。这是代码:

当我尝试运行它时,我得到了一个 CommandNotFoundException。我写错了我的 Cmdlet 吗?我需要做些什么来在 PowerShell 或运行空间中注册我的 Cmdlet 吗?

0 投票
1 回答
987 浏览

powershell - Powershell 自定义 cmdlet 格式化输出

我正在 powershell 2.0 中编写我的第一个自定义 CMDLet。我遇到了一个问题,即我的 cmdlet 中没有使用自定义格式模板 xml。这是我的格式化文件:

一切正常,格式已成功注册(我使用Get-FormatData命令检查过),类型正确。但是在执行我的命令行开关时,它仍然使用默认格式。我什至试图通过管道“| Format-Table -View abc”来强制使用我的格式化程序,但它说 - 找不到名为 abc 的视图!到底是怎么回事?我尝试了 Get-FormatData并分析了条目 - 我的 ViewDefinition 以正确的视图名称出现在那里!

谢谢阅读。

0 投票
2 回答
652 浏览

powershell - 如何在不安装管理单元的情况下将 PSCmdlet 或 PSSnapin 添加到托管的 Powershell 运行时

我的情况如下。

  • 我正在通过 Web UI 上传我的 dll。
  • 我在 ASP.NET 应用程序中托管 PowerShell 运行空间。
  • I DLL 包含 PSCmdlet,并希望使用它。
  • PSCmdlet 只需要在托管运行空间内可访问,不需要在任何外部场景中使用。
  • 该应用程序无法访问 Windows 注册表,因为它以有限的权限运行,因此我无法安装 PsSnapin。

我是否可以在不经过安装过程的情况下使用命令行开关?

0 投票
19 回答
460180 浏览

powershell - 如何获取正在执行的 cmdlet 的当前目录

这应该是一个简单的任务,但我已经看到了几次尝试如何获取执行的 cmdlet 所在目录的路径,但成功率参差不齐。例如,当我执行C:\temp\myscripts\mycmdlet.ps1其中有一个设置文件时,C:\temp\myscripts\settings.xml我希望能够存储C:\temp\myscriptsmycmdlet.ps1.

这是一种可行的解决方案(虽然有点麻烦):

另一个人建议这个解决方案只适用于我们的测试环境:

我非常喜欢后一种方法,并且更喜欢它每次都必须将文件路径解析为参数,但我无法让它在我的开发环境中工作。我该怎么办?它与PowerShell的配置方式有关吗?

0 投票
1 回答
4459 浏览

c# - 带有哈希表/字典参数的 Powershell C# Cmdlet

谁能告诉我如何向我的自定义 C# cmdlet 添加一个参数,该参数是一个 Hashtable/StringDictionary,以便我可以以类似于以下方式调用我的 cmdlet:

我根本找不到任何可以清楚简单地解释如何执行此操作的文档/示例,或者它甚至可以用于自定义 cmdlet。

我可以使用:

或者是其他东西?

亲切的问候

0 投票
4 回答
1066 浏览

powershell - PowerShell 提供程序相对路径选项卡完成问题

我已经实现了一个简单的 PowerShellNavigationCmdletProvider

对于那些不知道的人,这意味着我可以使用 cmdlet 创建一个管理单元,它实际上是一个虚拟文件系统驱动器;可以像任何普通文件夹一样从 PowerShell 安装和导航此驱动器。针对驱动器的每个操作(例如,检查路径是否指向有效项、获取文件夹中子项的名称列表等)都映射到从该类继承的 .NET 类的方法NavigationCmdletProvider

我面临制表符完成的问题,并希望找到解决方案。我发现使用相对路径时制表符补全会给出不正确的结果。对于绝对路径,它工作正常。

对于那些不知道的人,NavigationCmdletProvider通过 PowerShell 调用该GetChildNames方法的选项卡完成工作,该方法被NavigationCmdletProvider类覆盖。

--问题论证--

假设我有一个提供程序“TEST”,具有以下文件夹层次结构:

绝对路径:

如果我键入“ dir TEST::child1\”并按tab几次,它会给我预期的结果:

相对路径:

首先,我导航到“TEST::child1”:

然后,如果我键入“ dirspace”并按tab几次,它会给我不正确的结果:

我希望看到这些:

这是 PowerShell 中的错误,还是我做错了什么?

以下是提供程序的完整、独立的代码: