问题标签 [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 投票
0 回答
452 浏览

c# - 如何以提升的权限运行我的自定义 cmdlet?

我是powershell的初学者。我有一个我创建的自定义 cmdlet。此代码将在最后一行中断:

它给了我 Access to registry is not allowed 错误,除非我将上面的代码附在里面:

要访问 SPSecurity,我当然必须带上我的参考资料:Microsoft.Sharepoint。它确实有效,但我的 powershell 代码与 sharepoint 无关。我可以使用更通用的 powershell 安全 dll 来代替 SPSecurity(即使它有效)?我找不到一个。谢谢。

0 投票
1 回答
2774 浏览

c# - 来自 C# 的 Powershell 命令'该术语不能识别为 cmdlet'

我在从 C# 应用程序执行 powershell 命令时遇到问题。我发现了很多与这个问题相关的东西,但没有一个能帮助我弄清楚可能发生了什么。

所以我有这个小测试功能:

问题是在某些计算机上它工作得很好,但在其他计算机上我收到“术语'msg'未被识别为 cmdlet、函数等”的消息。c:\windows\system32 中存在的每个可执行文件都会发生这种情况。当我使用像'Get-Process'这样的cmdlet时,它工作正常......

我现在正在两台计算机上进行测试,它们都将 ExecutionPolicy 设置为不受限制,并且它们具有相同的 Powershell 版本。环境变量上的“路径”也相同。

0 投票
2 回答
207 浏览

vb.net - PowerShell VB.NET cmdlet。更改 -DEBUG 开关

试图阻止 WriteDebug 中的(显然是默认的)查询模式,这不起作用(参见前面的帖子)。由于我还不知道如何检测是否在命令行上设置了 -DEBUG 我正在尝试这个:

输出如下:

这是没有 -D 开关的输出(没有查询):

那么,如果上面的重置有效,为什么我仍然处于查询模式?我怎样才能改变它?

0 投票
2 回答
2394 浏览

powershell - 在 MSBuild 中执行 powershell 脚本文件时使用 read-host cmdlet

全部,我正在尝试在 MSBuild 中执行外部电源 shell 脚本文件。但是每次 PS 运行 cmdlet 时Read-Host。MSBuild 似乎停止了。并且不提示我输入 . 我不知道它发生了什么。似乎控制台处于死锁状态..谢谢。

在此处输入图像描述

testloop.ps1 代码如下所示。

MSBuild 代码如下(为清楚起见,进行了包装):

0 投票
4 回答
10756 浏览

powershell - PowerShell 管理单元 Cmdlet CommandNotFoundException

目前我正在尝试创建我的第一个 PowerShell 管理单元。我遵循了本教程:如何创建 PowerShell 管理单元并且一切正常,直到我尝试调用我的自定义 cmdlet。此外,我添加了一个“构建后事件”来注册程序集。

之后我添加了 Snapin,它就像一个魅力:

System.Automation 参考的程序集路径:

作为我的目标平台,我选择了 x86,并且还在 x86 PowerShell 中执行所有内容。平台设置为“活动(任何 CPU)”

这是我的 cmdlet 代码:

这是我在尝试调用 Cmdlet 时遇到的错误:

我做错了什么,关于目标平台(x86)的设置是否有问题?

0 投票
2 回答
257 浏览

powershell - 如何将输出记录到文件

powershell newb 在这里。我在尝试将输出记录到文件时遇到了一些困难。我尝试了两种策略,但都对我不起作用。第一个是使用 Start/Stop-Transcript cmdlet。这在我的本地机器上进行测试时效果很好,但在我部署到工作站的脚本中似乎根本不起作用。

我更喜欢这样做的方式是使用: | Out-File -Append -FilePath $logpath 我认为这将是首选方法,因为它会捕获日志中可能发生的任何错误,与 Start-Transcript 相对。但是,当我尝试使用此方法时,管道出现错误"An empty pipeline element is not allowed."

提前感谢您的任何帮助!

0 投票
2 回答
2042 浏览

c# - 如何在 C# 自定义 Cmdlet 的参数中屏蔽用户输入密码

在我的程序中,我需要在参数中询问用户密码:

我无法弄清楚密码使用的正确类型是什么。在另一个问题中: 如何安全地处理自定义编写的 PowerShell cmdlet 中的密码?

接受的答案要求在代码中使用 read-host,但我必须使用参数来询问此字段。

我也尝试使用 SecureString 作为密码,但我无法为此参数提供 SecureString,因为它将被自动接受为字符串,而不是安全字符串。

有什么方法可以实现以下用法:

0 投票
1 回答
578 浏览

c# - 从 cmdlet 中的内部管道获取信息

我正在尝试创建一个嵌套管道。现在我在这个嵌套管道中运行的 cmdlet 需要检查它是否从嵌套管道运行。从嵌套管道运行时,它的行为需要稍有不同。

谁能帮助如何确定 cmdlet 是否从嵌套管道运行?

我使用以下代码创建嵌套管道:

0 投票
1 回答
476 浏览

c# - C# 等效于 PowerShell $input 变量

我通过扩展 PSCmdlet 类在 C# 中创建 PowerShell cmdlet。我需要获取整个流水线输入以在 C# 代码中使用。我尝试将属性设置为的参数设置为:

当我尝试通过管道输入项目列表来执行 cmdlet 时,我一次得到一个项目以在 C# 代码中处理。

我需要在我的 C# 代码中处理整个管道输入。我发现这可以在 PowerShell 中使用 $input 变量获得。是否有与此 $input PowerShell 变量等效的 C#?

0 投票
2 回答
15834 浏览

powershell - Powershell where子句过滤

我正在尝试使用 powershell 脚本过滤在服务器中运行的服务。但是语法似乎不正确

脚本

Get-Service -ComputerName $ServerName |Where-Object {$_.Name -like "DEX*" -or $_.Name -like "WORLD*" -or $_.Name -like "Entr*"}

突出显示的部分有问题。非常感谢任何帮助..