Tag: powershell

我如何获得registry项的值,只有使用PowerShell的值

任何人都可以帮我拉一个registry项的值,并将其放置在PowerShell中的variables? 到目前为止,我已经使用Get-ItemProperty和reg query ,虽然两者都将拉值,两者还添加额外的文本。 我只需要registry项中的string文本,只需要键中的string文本。 我敢肯定,我可以创build一个function来剥离额外的文本,但如果更改(即registry项名称)可能会影响这一点。

使用脚本的参数调用第二个脚本

我相对较新的PowerShell,并有一个脚本,读取configuration文件,导致一组名称值对,我想作为parameter passing给另一个PowerShell脚本中的函数。 我不知道在devise时将在这个configuration文件中放置什么参数,所以在我需要调用第二个PowerShell脚本的时候,我基本上只有一个variables,它有第二个脚本的path,第二个脚本该variables是传递给pathvariables中标识的脚本的参数数组。 所以包含第二个脚本path($ scriptPath)的variables可能具有如下的值: "c:\the\path\to\the\second\script.ps1" 包含参数($ argumentList)的variables可能如下所示: -ConfigFilename "doohickey.txt" -RootDirectory "c:\some\kind\of\path" -Max 11 我如何从这种状态中获得$ argumentList的所有参数来执行script.ps1? 我希望这个第二个脚本的任何写入主机命令对于第一个脚本被调用的控制台是可见的。 我已经尝试了点源,Invoke-Command,Invoke-Expression和Start-Job,但是我还没有find一种不会产生错误的方法。 例如,我认为最简单的第一条路线是尝试开始工作,如下所示: Start-Job -FilePath $scriptPath -ArgumentList $argumentList …但是这个失败,这个错误: System.Management.Automation.ValidationMetadataException: Attribute cannot be added because it would cause the variable ConfigFilename with value -ConfigFilename to become invalid. …在这种情况下,“ConfigFilename”是由第二个脚本定义的参数列表中的第一个参数,我的调用显然试图将其值设置为“-ConfigFilename”,显然是为了通过名称来标识参数,没有设定它的价值。 我错过了什么? 编辑: 好的,这是一个名为invokee.ps1的文件,即将被称为脚本的模型 Param( [parameter(Mandatory=$true)] [alias("rc")] [string] [ValidateScript( {Test-Path $_ -PathType […]

改变Posit-Git中的“git status”输出颜色

在Posh-Git中 ,当我在仓库中运行“git status”时,当我尝试将它们configuration为“正常”红色时,更改和未跟踪文件的颜色为深红色。 我想这样做,因为我有一个黑色背景的控制台,所以深红色难以阅读。 我search了一下,似乎有两个configuration需要改变: 在$ GitPromptSettings中将“DarkRed”中的“WorkingForegroundColor”和“UntrackedForegroundColor”更改为“Red”。 在git config中把“color.status.changed”和“color.status.untracked”改成红色。 从我的阅读中,这就是我所需要做的,而“git status”的结果仍然是暗红色的。 这里有一个总结,certificate我设置他们,也许有人可以发现错误:

大文件复制期间的进度(Copy-Item&Write-Progress?)

有没有办法在PowerShell中复制一个真正的大文件(从一台服务器到另一台服务器),并显示其进度? 有一些解决scheme可以使用Write-Progress和循环来复制许多文件并显示进度。 但是,我似乎无法find任何可以显示单个文件的进度。 有什么想法吗?

Powershell尝试/赶上/最后

我最近写了一个很好的Powershell脚本 – 但是,我想现在升级脚本并添加一些错误检查/处理 – 但是我似乎已经在第一个障碍难住了。 为什么下面的代码不工作? try { Remove-Item "C:\somenonexistentfolder\file.txt" -ErrorAction Stop } catch [System.Management.Automation.ItemNotFoundException] { "item not found" } catch { "any other undefined errors" $error[0] } finally { "Finished" } 错误被捕获到第二个catch块中 – 您可以看到$error[0]的输出。 很显然,我想在第一个方块中看到 – 我错过了什么? 谢谢

我可以用C#和Powershell做什么?

我对C#有一个很好的理解,并对PowerShell有一个非常基本的理解。 我正在使用Windows PowerShell CTP 3,这非常有趣。 但我想超越编写脚本/函数。 C#有没有很酷的东西?

重命名文件夹中的多个文件,添加前缀(WIndows)

我想批量重命名文件夹中的文件,在文件夹的名称前缀为新名称。 即C:\ house chores \中的文件将全部重命名为“house chores – $ old_name”。

Powershell 2副本项目创build一个文件夹如果不存在

$from = "\\something\1 XLS\2010_04_22\*" $to = "c:\out\1 XLS\2010_04_22\" copy-item $from $to -Recurse 如果c:\ out \ 1 XLS \ 2010_04_22 \确实存在,这将起作用。 如果不存在,是否可以使用单个命令创build“c:\ out \ 1 XLS \ 2010_04_22 \”。

使用IDE时从Powershell调用第三方可执行文件时出错

我有一个PowerShell脚本,它使用du.exe(最初来自Sysinternals的磁盘使用 )来计算目录的大小。 如果我在控制台中运行du c:\Backup ,它可以按预期工作,但是在ISE或PowerGui中运行的同一行代码会给出预期的结果和错误 + du <<<< c:\backup + CategoryInfo : NotSpecified: (:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 这是为什么? 我如何避免这个错误? 我试着调用expression式,使用& ,但没有去。 谢谢您的帮助。

从快捷方式打开特定目录中的Powershell

这听起来应该是这么简单…我一定是愚蠢的。 我只想做一个窗口快捷方式,将Powershell打开到一个特定的目录中: 我正在使用目标: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command {cd c:/path/to/open} 把它只是作为文本吐出命令。 任何帮助,将不胜感激。