问题标签 [cmdlets]

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 投票
13 回答
2420 浏览

powershell - 你最喜欢的 Powershell Cmdlet 是什么?

我刚刚找到了 /n 软件免费的 Powershell NetCmdlets,在玩过它们之后,我喜欢它们为命令行带来的功能。所以它提出了一个问题,你最喜欢的 Cmdlet 是什么,你如何使用它们?

0 投票
4 回答
2561 浏览

c# - 使用自己的 PowerShell CmdLets 向我的 C# Windows 服务发送管理命令

我有一个运行服务的 C# Windows 应用程序。我想利用 PowerShell 来提供命令行管理界面来管理我正在运行的服务。

从我的角度来看,我正在尝试提供与 Exchange 2007 相同的管理界面。

您对如何启动/设计管理 cmdlet 以“连接”到正在运行的服务以查询或发送管理命令有任何建议或示例代码吗?

如何从 powershell 命令行访问服务的内部运行时状态?例如,我想实现一个名为 Get-ConnectionsInfo 的 cmdlet,以了解执行该 cmdlet 时我的 Windows 服务使用了多少出站连接。

一个实际的例子或一个例子的网络链接将非常受欢迎。

谢谢,罗伯特

0 投票
10 回答
26593 浏览

windows - 我们可以查看 PowerShell cmdlet 的源代码吗?

我正在学习一些 PowerShell。是否可以查看像Get-ChildItem这样的内置 cmdlet 的源代码?

0 投票
2 回答
2280 浏览

powershell - Powershell cmdlet 开发最佳实践

我目前正在整理一些 Powershell cmdlet。构建它们很容易,但我不知道我是否以可接受的方式构建它们(可以这么说)。

将数据传递到 Powershell 管道时是否应遵循任何准则/最佳实践?目前,我实际上输出了一个 DataSet 类型的对象 - 如果任何 cmdlet 想要在下游使用它,那么他们将不得不遍历该 DataSet 中的 DataTables,然后遍历每个 DataTable 中的 DataRows。

我想问题是....我会这样做吗?或者我应该输出本质上是一堆行的数据?

提前谢谢大家

-JT

0 投票
2 回答
966 浏览

c# - 无法访问外部类库调用中的已处置对象错误

我有一个 Windows 窗体应用程序,它使用 Powershell 和 Exchange2007 cmdlet 在 Exchange 中配置用户帐户。此应用程序只有一种形式,它为新用户获取信息,然后运行 ​​Powershell 命令。像一个优秀的程序员一样,我只是重构了代码,把所有的 Exchange 和 Active Directory 调用都取出来,并将它们放在不同的类中。在 Windows 窗体中,我在按钮 Click 事件中调用以下代码:

在课堂上,我有以下内容:

thisPipeline.Invoke 导致错误,我不知道 Disposed 是什么。该代码在表单的代码隐藏中时工作得非常好。我还有一些 Active Directory 方法,我将它们撕成一个单独的类库,它们似乎工作正常。

我应该怎么做才能让这种情况停止发生?谢谢!

0 投票
1 回答
413 浏览

.net - 在不使用 SnapIn 的情况下在 Powershell SDK 中添加自定义格式

我正在开发一个使用 PowerShell SDK 执行脚本的 .NET/C# 2.0 应用程序。我没有使用管理单元。我通过 PS 的RunspaceConfiguration直接设置所有内容。

所以我的问题是我无法为应用程序中实现的类型Plux.ExtensionTypeInfo添加自定义格式。

Plux.ExtensionTypeInfo有一个名为 Name 的属性)

这就是我尝试的:

plux.format.ps1xml:

执行返回几个 ExtensionTypeInfo 对象的 Cmdlet 后,输出将永远不会被格式化。

借助内置的 Cmdlet 和类型,格式可以在我的 PS Host 应用程序中完美运行。Cmdlet 注册也可以通过配置对象正常工作。使用 powershell.exe 或我的托管应用程序在plux.format.ps1xml上启动update-formatdata时,不会引发任何错误。

尽管如此,上面的代码对格式化没有影响。

0 投票
4 回答
5858 浏览

powershell - 什么是 PowerShell cmdlet?

以概念方式接近 cmdlet,

  1. 它们是如何制作的?他们编译了吗?

  2. 它是否相当于 PowerShell 的批处理文件?它是脚本还是二进制文件?

  3. 用于存储这些 cmdlet 的结构是什么?

0 投票
6 回答
6360 浏览

c# - 如何确定是否指定了 PowerShell Cmdlet 参数值?

在 PowerShell 1.0 中,如果我有一个枚举类型的 cmdlet 参数,那么测试用户是否在 cmdlet 命令行上指定了该参数的推荐方法是什么?例如:

有什么方法可以做到这一点,而不必使用虚拟值播种 isEnabled ?默认情况下它将等于 0,我不想为每个参数播种或向我的枚举添加一个虚拟值。我可能有许多带有 100 个参数的 cmdlet,必须有更好的方法。这与这个问题有关,但我正在寻找一种更清洁的方法。谢谢。

0 投票
1 回答
849 浏览

powershell - 如何在调用 BeginProcessing 之前绕过 PowerShell 不绑定管道参数?

我正在编写一个可以在管道中间调用的 Cmdlet。使用此 Cmdlet,有些参数定义了ValueFromPipelineByPropertyName属性,以便 Cmdlet 可以使用管道中先前定义的具有相同名称的参数。

我遇到的悖论是在重写的BeginProcessing()方法中,我利用了可以从管道获取其值的参数之一。根据Cmdlet Processing Lifecycle ,直到调用 BeginProcessing()之后 才会发生管道参数的绑定。因此,如果它们试图在BeginProcessing()中使用,我似乎无法依赖管道绑定参数。

我考虑过将事情转移到ProcessRecord()方法。不幸的是,需要进行一次性的、相对昂贵的操作。发生这种情况的最佳位置似乎是在BeginProcessing()方法中,以帮助确保它在管道中只发生一次。

围绕这个问题的几个问题:

  1. 有没有解决这个问题的方法?
  2. 这些相同的参数也设置了Mandatory属性。如果没有 PowerShell 抱怨没有这些必需的参数,我怎么能做到这一点?

提前感谢您的想法。


更新

当我意识到我只是不太了解管道绑定参数时,我取出了问题的第二部分。我错误地认为管道绑定参数来自在管道中执行的先前 Cmdlet。实际上来自通过管道传递的对象!我参考了Keith Hill 的一篇文章来帮助理解这一点。

0 投票
2 回答
25373 浏览

powershell - 如何将 PowerShell cmdlet 或函数添加到我的计算机以使其始终可用?

如果我找到(或创建)一个新的 PowerShell cmdlet(或函数),我如何将它添加到我的机器中?

  • 我是否将其复制到特定文件夹?
  • 我是否将其内容放在特定文件中?
  • 我是否需要对其进行授权、签名或以某种方式给予许可?

我不想只在一个会话中使用它;我希望它在我在这台机器上使用 PowerShell 时可用。