问题标签 [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 回答
321 浏览

web-services - SQL Server 2008、Powershell 和 Web 服务

Powershell 提供了允许创建 Web 服务代理对象的 New-WebServiceProxy cmdlet。

但是 SQL Server 2008 中的 Powershell 似乎不支持这一点。有没有办法让 SQL Server 的 Powershell 支持 New-WebServiceProxy cmdlet?

非常感谢。

0 投票
3 回答
24965 浏览

powershell - 创建 powershell 脚本来备份文件并附加日期

目前我有一个单行批处理文件来备份文件。当我需要备份文件时,我会手动运行它。我唯一想添加的是当前日期。这是我所拥有的:

xcopy /W /Y ACTIVE.DB ACTIVE.DB.BACKUP

目标文件应该只是 ACTIVE.DB.BACKUP.YYYYMMDD。我将如何创建一个脚本,允许我从 Windows 资源管理器中双击它并进行 xcopy?

0 投票
8 回答
73320 浏览

powershell - 如何在自定义 cmdlet 中正确使用 -verbose 和 -debug 参数

默认情况下,任何具有 [CmdletBinding()] 属性的命名函数都接受-debugand -verbose(以及其他一些)参数,并具有预定义的$debug$verbose变量。我试图弄清楚如何将它们传递给在函数中调用的其他 cmdlet。

假设我有一个这样的 cmdlet:

如果-debug或被-verbose传递到我的函数中,我想将该标志传递到new-itemcmdlet。这样做的正确模式是什么?

0 投票
3 回答
3158 浏览

function - PowerShell - 如何在函数中调用与函数同名的 cmdlet 名称时调用 cmdlet?

所以我有一个名为 update-name 的 cmdlet,我无权更改。

我创建了一个名为 update-name 的函数(与 cmdlet 同名)。如何从具有相同名称的函数中调用 cmdlet?

我已经尝试了一些东西,但它们似乎都不起作用。

当它只是功能时,有一种方法可以做到:

不幸的是,如果它是 CmdLet,这将不起作用。

0 投票
3 回答
2917 浏览

powershell - 链式异常的 Powershell 详细输出

我是 powershell 的新手,并且使用我们的一个自定义 cmdlet 解决了问题。默认情况下,在 cmdlet 中引发的所有异常都具有最少的信息,没有堆栈跟踪,也没有关于链式异常的信息。有没有办法启用异常的详细输出?

0 投票
2 回答
4022 浏览

powershell - 编写 PowerShell cmdlet 时,WriteObject(x, true) 和多个 writeobjects 有什么区别?

我想编写一个从数据库中读取多条记录并将它们放入管道的 cmdlet。

我想我可以做一个WriteObject(Enumerable<rec>, true),也可以自己循环并WriteObject多次调用。

这两者有什么区别?

0 投票
1 回答
1770 浏览

c# - Microsoft Enterprise Library 5.0 和自定义 powershell cmdlet 的问题

我正在创建一个自定义 powershell 1.0 cmdlet,它允许我将 powershell 脚本中的异常提供给 Microsoft Enterprise Library v5.0 异常处理块。

我从外部文件加载我的异常处理配置,因为 cmdlet 被编译成 dll,然后尝试使用配置创建 ExceptionManager 的实例。

当我从 powershell 调用我的命令并出现以下错误时,这将失败:

Microsoft.Practices.ServiceLocation.ActivationException:尝试获取 ExceptionManager 类型的实例时发生激活错误,键“”---> Microsoft.Practices.Unity.ResolutionFailedException:依赖项解析失败,类型 =“Microsoft.Practices.EnterpriseLibrary。 ExceptionHandling.ExceptionManager”,名称 = “(无)”。异常发生时:解决时。异常是: InvalidOperationException - 无法构造类型 ExceptionManager。您必须配置容器以提供此值。

令人沮丧的是,当在具有完全相同配置的独立控制台应用程序中使用代码时,代码工作得非常好。我不太确定为什么会出现此错误;我确保我使用的是配置文件中引用的相同程序集,并且我确保我在我的项目中引用了所有必要的企业库 dll。

此外,我必须将企业库 dll 复制到 powershell 安装目录 (%SystemRoot%\system32\WindowsPowerShell\v1.0),否则我会收到 FileNotFoundExceptions 提示在配置文件时无法找到正确的库正在处理。我对 powershell 或企业库没有太多经验,但我猜这可以通过使用 AppDomain 设置来解决。

0 投票
5 回答
8204 浏览

powershell - 带有强制参数的 Powershell Cmdlet

我正在尝试创建一个简单的 powershell cmdlet,它有一些强制性参数。我找到了以下代码,但是,我无法执行它:

返回以下错误:

表达式中缺少结束 ')'。" 行:5 字符:3 + [ <<<< string]$Name

我究竟做错了什么?

0 投票
5 回答
2502 浏览

c# - Powershell 导入自定义 C# CMDlets,没有可用的“ExportedCommands”

这里的第一个问题:)

所以我必须使用 Visual Studio 2010 Express 为 Powershell 2.0 创建一个自定义 CMDLet。我遵循了这个看似简单的教程:http: //blogs.msdn.com/b/saveenr/archive/2010/03/08/how-to-create-a-powershell-2-0-module-and-cmdlet- with-visual-studio-2010-screencast-included.aspx

我的代码几乎相同(甚至尝试复制粘贴他们的代码)但是在我调用Import-Module "path_to_dll"之后

然后调用Get-Module,我看到了我导入的模块,但没有可用的 ExportedCommands。

C#代码:

可能是个错误,我只是看不到它

0 投票
1 回答
3589 浏览

powershell - MS Exchange 2010:cmdlet 未作为计划任务正确执行

一段时间以来,我一直在使用计划任务和 New-MailboxExportRequest cmdlet 将我组织的邮箱导出到每晚的 .PST 存档文件。不幸的是,在存档操作完成后,ExportRequests 不会被删除,当 Exchange 确定它已经看到足够的请求时,它会停止处理我的备份。

在 Exchange 命令行管理程序上运行时,以下内容适用于清理请求:

Get-MailboxExportRequest -状态已完成 | 删除邮箱导出请求

但是,我没有成功让这个 cmdlet 作为计划任务正确运行。

我正在使用以下语法:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -状态已完成|删除-MailboxExportRequest”

当我手动执行任务时,它挂在“任务当前正在运行。(0x41301)' 直到我结束任务。请注意,我使用的是具有适当权限级别的帐户,禁用了 UAC,并且在任务上启用了“以最高权限运行”。因此,我倾向于认为问题出在我的语法上。

非常感谢任何和所有帮助。

编辑:

通过一个不相关的脚本问题找到了我的解决方案;cmdlet 在正常使用时要求确认。因此,我将脚本修改为以下内容:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -状态已完成|删除-MailboxExportRequest -确认:$false"

我的计划任务按预期运行并执行其设计的任务。谢谢你的空间。