草庐IT

xml - 将多个基于 cmdlet xml 的帮助文件写入单个 xml 文件

编写高级功能的xml帮助文件的资源似乎很有限。我希望使用基于xml的帮助文件,但似乎这要求我每个cmdlet都有一个xml文件,这是大量的xml文件。每个cmdlet使用.ExternalHelp为其分配一个xml文件。有没有办法将许多cmdlet的帮助放入一个文件中,然后将每个cmdlet正确指向文件的正确部分? 最佳答案 有关为您的脚本/cmdlet/函数编写PowerShellXML帮助主题的帮助链接:GuidelinesonwritinghelpCreatingthecmdlethelpfile(我建议阅读本页底部的所有链接

windows - Complete-BitsTransfer cmdlet 的用途是什么?

PowerShell和Windows有一个很好的文件传输框架,称为BITS。这可以同步使用:Start-BitsTransfer-Source\\remote_file_location-Destination.有一个异步标志在后台运行下载:Start-BitsTransfer-Asynchronous-Source\\remote_file_location-Destination.如果您只是异步运行该作业,一段时间后它会显示为已传输:JobIdDisplayNameTransferTypeJobState------------------------------------cd0

windows - 如何在 Powershell 中使用 New-Item cmdlet 将 SSH 私钥写入文件?

这个问题在这里已经有了答案:PowerShell:StoreEntireTextFileContentsinVariable(5个答案)关闭5年前。我正在开发一个Powershell脚本,它从文件中读取sshkey和已知主机并将其写入另一个文件。我读了key$SshPrivateKey=Get-Content'ssh-keys\id_rsa'然后我写新文件New-Item-path$SshKeysDir-Name$SshPrivateKeyFile-Value$SshPrivateKey-ItemTypefile-force这适用于公钥。但由于某些奇怪的原因,它不适用于私钥。新文件以结

windows - -在 cmdlet Get-WmiObject 中列出属性

我知道-List获取WMI存储库命名空间中WMI类的名称,但我不太明白它在以下上下文中的含义:(Get-WmiObject-listWin32_ShadowCopy).Create("C:\","ClientAcessible") 最佳答案 注意:CIMcmdlet已取代WMIcmdlet,但答案有些类似,不同之处在于Get-CimInstance不支持-List,但有一个专用的Get-CimClasscmdlet和调用类方法的最简单方法是始终使用专用的Invoke-CimMethodcmdlet。(Get-WmiObject-li

windows - powershell 中的 %~dp0 等价物(使用 Expand-Archive cmdlet)

我是脚本编写(尤其是powershell)的新手,也是StackOverflow的新手,所以请原谅我的无知,请多多包涵!我会尽我所能具体解释我想做什么,希望有人能详细说明我可以做些什么来让它发挥作用。预期流程/工作流程:一位同事下载了包含所有必需文件的“Install.zip”文件。此“Install.zip”文件包含“Setup.bat”文件(用于计算机配置)、“Fubar.zip”文件、2个powershell脚本和一个自定义powerplan(.pow)文件。下载后,他们将运行“Setup.bat”文件,它几乎可以完成所有工作。在该批处理文件中,它调用了2个powershell脚

c# - “Invoke-Sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

我想自动创建数据库。要创建三个数据库,我为每个数据库创建都有一个不同的powershell脚本。现在在这个powershell脚本上我有一层批处理文件,这个批处理文件将调用powershell脚本。说@“D:\Parent\Sub\InstallDB1.cmd”;将像其他两个一样调用@"D:\Parent\Powerscript1.ps1。现在我有单个批处理文件FinalDB.cmd.批处理文件FinalDB.cmd.将调用三个命令脚本,一个接一个将在内部调用powershell脚本。Sonowthecallsin`FinalDB.cmd`callInstallDB1.cmd//com

windows - 如何从 powershell 脚本中的 cmdlet 捕获退出代码

我对powershell脚本编写非常陌生,我花了很多时间试图捕捉某件事是简单地失败了还是成功了。我有一个简单的例子:测试1.ps1get-psdrive-nameds|out-nullif($?-ne"False"){echo"drivedoesn'texist"}else{echo"Founddrive"}但这对我不起作用。我还尝试了变量$LastExitCode但这也不起作用。我在这里严重误解了一些东西。有人可以给我指出正确的方向或给我一个工作示例吗 最佳答案 尝试这样的事情:$drive=Get-PSDrive-Nameds2

windows - 如何在 PowerShell 中停止长时间运行的 cmdlet

假设我运行这个cmdelt:C:\>Get-EventLogApplication此cmdlet会永远显示事件并且永远不会停止,是否有特定的命令或我可以键入的内容来停止它并返回到我的C:\>? 最佳答案 这取决于您的工作环境。Ctrl+C在PowerShell控制台和ISE中工作。我使用PowerGUI脚本编辑器并使用Shift+F5实现同样的效果。 关于windows-如何在PowerShell中停止长时间运行的cmdlet,我们在StackOverflow上找到一个类似的问题:

node.js - 术语 'gulp' 未被识别为 cmdlet 错误的名称

因此,我尝试在我们的构建服务器上运行gulp,但不断出现上述错误。如果我使用我的用户帐户登录构建服务器,一切正常,因为我在我的帐户下全局安装了gulp,但是当Jenkins运行我的powershell脚本时,它失败并出现错误:Theterm'gulp'isnotrecognizedasthenameofacmdleterror所以我尝试在我的脚本中进行全局安装,以便它与Jenkins使用的任何用户一起安装。然后我在powershell脚本中添加了npm-gls,发现它是在系统用户下全局安装的:C:\Windows\system32\config\systemprofile\AppDat

c# - 在自定义 C# PowerShell Cmdlet 中确定是否指定了 -Verbose

我有一个自定义C#PowerShellCmdlet(继承自Cmdlet基类),我希望能够确定在运行Cmdlet时是否指定了“-Verbose”参数。我意识到WriteVerbose将在指定-Verbose参数时输出,但我想在指定-Verbose时实际执行一些其他代码(即在指定-Verbose时不输出Console.Write值)。谢谢,约翰 最佳答案 像这样检查cmdlet的绑定(bind)参数:if(this.MyInvocation.BoundParameters.ContainsKey("Verbose")){}