对于遗留应用程序,我需要创建一个注册表项,其名称格式为c:/foo/bar/baz。(注意:正斜杠,而不是反斜杠。)要清楚:这是一个键的名称,带有正斜杠,否则看起来像Windows路径。因为我需要针对大量服务器编写脚本,PowerShell似乎是一个不错的选择。问题是我不知道如何通过PowerShell创建该格式的key。New-Item-PathHKLM:\SOFTWARE\Some\Key-Name'c:/foo/bar/baz'出现错误,PowerShell认为我正在使用/作为路径分隔符并且找不到路径HKLM:\Software\Some\Key\c:\foo\bar,它确实不存
我想使用WindowsPowerShell脚本每x秒运行一次批处理文件。所以这是一遍又一遍地运行同一个批处理文件。我已经做了一些查找,但找不到我要找的东西。它适用于我想在WindowsXP机器上运行的东西。我以前曾多次使用WindowsScheduler来做类似的事情,但由于某种原因,WindowsScheduler只运行一次……然后就没有了。我也不想让批处理文件自己调用,因为它运行这么多次后会出错。 最佳答案 只需将对批处理文件的调用放在一个while循环中,例如:$period=[timespan]::FromSeconds(4
有什么方法可以在USB驱动器插入PC时启动位于USB驱动器上的PowerShell脚本?它必须将所有PDF文件从PC复制到USB驱动器,但这不是问题所在。我唯一不知道的是如何在插入USB驱动器后立即启动脚本。有人能帮忙吗? 最佳答案 您可以使用WindowsManagementInstrumentation(WMI)事件来检测何时插入USB闪存驱动器。您可以使用Register-WmiEventcmdlet创建临时事件注册。假设您有一个名为c:\test\script.ps1的脚本文件。该脚本将用于在事件发生时对其做出响应。Add-
我需要从PowerShell调用一个java程序(jar文件)。以下代码有效:java-jar$cls--js$dcn--js_output_file$dco但我需要在一个进程中运行该应用程序(使用Start-Process)。我正在尝试以下但没有成功:Start-Process-FilePathjava-jar$cls--js$dcn--js_output_file$dco-wait-windowstyleNormal错误:Start-Process:Aparametercannotbefoundthatmatchesparametername'jar'.知道如何解决吗?
我已经通过WebClient对象从Artifactory(GenericRepo)成功下载了一个文件。我在通过相同方法上传文件时遇到问题。我正在尝试找出通过Powershell上传到我们服务器的最简单方法。请注意,目前无法安装其他实用程序(如Curl)。我正在编写自动化脚本并希望坚持使用基本的Windows2008r2服务器,不安装其他实用程序,因为我不能指望它们在所有服务器上都存在。如果有人有使用RestAPI的示例脚本,那就太完美了!下载代码示例(有效):$SOURCE="https://artifactory.example.com/artifactory/net-generic
我在执行远程PowerShell脚本时遇到错误。在我的本地机器上,我正在运行一个PowerShell脚本,该脚本使用Invoke-Command将cd放入远程AmazonWindowsServer实例上的一个目录中,随后使用Invoke-命令执行驻留在该服务器实例上的脚本。服务器上的脚本正在尝试从GitHub克隆一个存储库。我可以在服务器脚本中成功执行“ls”甚至“git--version”之类的操作。但是gitclone,gitpull等会导致如下错误:Cloninginto'MyRepo'...+CategoryInfo:NotSpecified:(Cloninginto'MyRe
我在PowerShell的命令行中使用git,我正在尝试使用类似的东西gitdifftoolHEAD^Powershell似乎将此视为我输入gitdifftoolHEAD所以插入符号消失了。如果我使用插入符号的多个副本,我会收到一个奇怪的错误:gitdifftoolHEAD^^fatal:ambiguousargument'HEAD@set':unknownrevisionorpathnotintheworkingtree.Use'--'toseparatepathsfromrevisions有趣的是,连续使用四个插入符似乎转义为一个,所以gitdifftoolHEAD^^^^的工作方
我有一个Windows批处理文件,其目的是设置一些环境变量,例如===MyFile.cmd===SETMyEnvVariable=MyValue用户可以在执行需要环境变量的工作之前运行它,例如:C:\>MyFile.cmdC:\>echo"%MyEnvVariable%"...doworkthatneedstheenvironmentvariable这大致相当于VisualStudio安装的“开发人员命令提示符”快捷方式,它设置了运行VS实用程序所需的环境变量。但是,如果用户碰巧打开了Powershell提示符,环境变量当然不会传播回Powershell:PSC:\>MyFile.cm
我需要比较文件的LastWriteTime并将其与当前时间进行比较。如果差异大于45分钟,那么我需要收到电子邮件提醒。这是我到目前为止得到的结果。$StartDate=(GET-DATE)$EndDate=[datetime]”01/01/201400:00”NEW-TIMESPAN–Start$StartDate–End$EndDate在上面的代码中,我需要将$EndDate替换为Get-ItemC:\Users\myusername\Desktop\file.html|选择LastWriteTime我需要将file.html的LastWriteTime与当前时间进行比较。请帮我存储
我最近听到很多关于PowerShell的消息,想知道是否有任何理由使用PowerShell而不是(例如)控制台应用程序或在幕后使用WMI的Windows服务。PowerShell有哪些好处和优势?它有什么用? 最佳答案 PowerShell是一个交互式shell,类似于KornShell、Bash和呃CMD.exe。和那些shell一样,它支持脚本语言(KSH、Bash、Batch)。然而,PowerShell建立在.NET之上并公开.NET类型,并允许您创建和操作许多.NET类型。因此,您可以使用PowerShell构建可以执行典