Questions tagged «powershell»

PowerShell是Microsoft的跨平台命令行和脚本实用程序。将此标签仅用于有关编写和执行PowerShell脚本的问题。跨平台版本PowerShell Core(Windows,macOS和Linux)特定的编程问题应标记为[powershell-core]。有关系统管理的问题应在“超级用户或服务器故障”时提出。

5
为什么我的PowerShell退出代码始终为“ 0”?
我有一个PowerShell脚本,如下所示 ##teamcity[progressMessage 'Beginning build'] # If the build computer is not running the appropriate version of .NET, then the build will not run. Throw an error immediately. if( (ls "$env:windir\Microsoft.NET\Framework\v4.0*") -eq $null ) { throw "This project requires .NET 4.0 to compile. Unfortunately .NET 4.0 doesn't appear to be installed …

1
PowerShell中的“退出”到底是什么?
您可以通过键入退出PowerShell exit。到现在为止还挺好。但这到底是什么? PS Home:\> gcm exit Get-Command : The term 'exit' is not recognized as the name of a cmdlet, function, script file, or operable program. Ch eck the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 …
73 powershell 

7
PowerShell:如何grep命令输出?
在PowerShell中,我尝试过: alias | select-string Alias 即使失败 Alias输出中明确显示。我知道这是因为select-string在某个对象上而不是实际的输出字符串上运行。 该怎么办?
73 powershell 

6
PowerShell:按字段值检索JSON对象
考虑以下格式的JSON: "Stuffs": [ { "Name": "Darts", "Type": "Fun Stuff" }, { "Name": "Clean Toilet", "Type": "Boring Stuff" } ] 在PowerShell 3中,我们可以获得Stuffs的列表: $JSON = Get-Content $jsonConfigFile | Out-String | ConvertFrom-Json 假设我们不知道列表的确切内容,包括对象的顺序,我们如何检索名称字段具有特定值的对象? 蛮力,我们可以遍历列表: foreach( $Stuff in $JSON.Stuffs ) { 但我希望存在更直接的机制(类似于C#中的Lync或Lambda表达式)。

5
如何在PowerShell中的命令输出中添加换行符?
我使用PowerShell运行以下代码,以从注册表中获取添加/删除程序的列表: Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall ` | ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") } ` | Out-File addrem.txt 我希望每个程序的列表用换行符分隔。我试过了: Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall ` | ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") `n } ` | out-file test.txt Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall ` | ForEach-Object {$_.GetValue("DisplayName") } ` | Write-Host -Separator `n Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall ` …



6
比较两个数组并获得不常见的值
我想要一个小的逻辑来比较两个数组的内容并使用Powershell获得其中不常见的值 例如 $a1=@(1,2,3,4,5) $b1=@(1,2,3,4,5,6) 输出的$ c应该给我值“ 6”,这是两个数组之间不常见值的输出。 有人可以帮我吗!谢谢!

9
将文件从远程RDP复制到本地计算机
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 11个月前关闭。 改善这个问题 有没有一种方法可以启动到远程Windows服务器的RDP会话,并执行到本地计算机的文件传输?远程Windows Server的版本各不相同。范围从2000年到2008年。 我试图查找解决方案,但似乎到处都是。一些建议使用mstsc.exe,其他建议使用PowerShell / Java / ASP Net。我很困惑。在这里欣赏一些指导。 谢谢! 更新如下:2012年2月17日 感谢您的所有建议。还要补充说明,远程服务器已被安全锁定,并且不允许安装SSH服务器,FTP服务器或共享驱动器。访问远程计算机的唯一方法是通过RDP,并且这些计算机也位于单独的VLAN上,只有授权用户才能使用RDP访问这些VLAN。我正在尝试创建一个脚本,可以帮助授权用户下载所需的文件。

8
在Powershell中创建日志文件
我有下面的代码,当前它加载屏幕上的所有信息。我希望它登录到D:\ Apps \ Logs上的日志文件。 日志文件需要具有要加载的计算机的名称-因此COMPUTERNAME.log 知道我该怎么做吗? 谢谢 $computer = gc env:computername $onetcp = ((get-childitem c:\windows\system32\drivers\tcpip.sys).Versioninfo.ProductMajorPart).tostring() $twotcp = ((get-childitem c:\windows\system32\drivers\tcpip.sys).Versioninfo.ProductMinorPart).tostring() $threetcp = ((get-childitem c:\windows\system32\drivers\tcpip.sys).Versioninfo.ProductBuildPart).tostring() $fourtcp = ((get-childitem c:\windows\system32\drivers\tcpip.sys).Versioninfo.ProductPrivatePart).tostring() $onedfsr = ((get-childitem c:\windows\system32\dfsrs.exe).Versioninfo.ProductMajorPart).tostring() $twodfsr = ((get-childitem c:\windows\system32\dfsrs.exe).Versioninfo.ProductMinorPart).tostring() $threedfsr = ((get-childitem c:\windows\system32\dfsrs.exe).Versioninfo.ProductBuildPart).tostring() $fourdfsr = ((get-childitem c:\windows\system32\dfsrs.exe).Versioninfo.ProductPrivatePart).tostring() write-host TCPIP.sys Version on $computer is: "$onetcp.$twotcp.$threetcp.$fourtcp" …
71 powershell 

5
在Posh-Git中更改“ git status”输出颜色
在Posh-Git中,当我在存储库中运行“ git status”时,当我尝试将它们配置为“正常”红色时,更改和未跟踪文件的颜色为深红色。我要这样做是因为我的控制台背景很暗,所以很难读懂深红色。 我四处搜寻,似乎需要进行两个配置更改: 在$ GitPromptSettings中将“ WorkingForegroundColor”和“ UntrackedForegroundColor”从“ DarkRed”更改为“ Red”。 在git config中将“ color.status.changed”和“ color.status.untracked”更改为红色。 根据我的阅读,这就是我所需要做的,但是“ git status”的结果仍然是深红色。 这是一个摘要,以证明我按照我的要求进行设置,也许有人可以发现错误:

10
PowerShell Copy-Item中的排除列表似乎不起作用
我有以下PowerShell脚本片段: $source = 'd:\t1\*' $dest = 'd:\t2' $exclude = @('*.pdb','*.config') Copy-Item $source $dest -Recurse -Force -Exclude $exclude 它可以将所有文件和文件夹从t1复制到t2,但仅排除“ root” /“ first-level”文件夹中的排除列表,而不是子文件夹中的排除列表。 如何使其排除所有文件夹中的排除列表?
70 powershell 

5
如何从Powershell打开Powershell控制台窗口
我正在编写一个脚本,以将多个plink(PuTTY)会话用作Windows版本的clusterssh。但是我被卡住了,因为我想从Powershell中打开多个Powershell窗口。当我键入powershell命令时,它将打开一个新会话。这类似于在bash中键入bash。我想打开多个物理窗口。 我尝试了-windowstyle以及其他参数都无济于事。我想知道您是否有办法。非常感谢您的帮助。我看了看,没有找到任何东西。谢谢你的时间。

15
如何开始使用PowerShell?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我玩过PowerShell V1的早期Beta版本之一,但自从它变成“金”以来就没有使用过。开始使用PowerShell的最佳方法是什么? 我应该使用哪个版本的PowerShell(V1.0和2.0 CTP)?您使用PowerShell做什么?是否有任何工具可以使使用PowerShell更加容易(即开发环境)?

6
如何在Powershell中进行TDD和单元测试?
随着MS将Powershell应用于所有新服务器产品中,我开始(勉强地)认为我需要认真对待它。TDD是“认真对待”的一部分。您是否找到了对Power Shell脚本进行单元测试的好方法? 我从极客噪声先生那里找到了嘲笑的样本-但我真的很喜欢RhinoMocks之类的东西。Brian Hartsock有一个来自MS Test的对Powershell字符串进行运行测试的示例。有点骇人听闻,但似乎可行。 我想要的是Powershell TDD体验,就像“真实”语言一样干净。 更新以澄清: 前两个答案试图使我远离测试Powershell。意见很有趣。我不想知道在Powershell中测试是否是个好主意。这是一个主观的问题,应该在其他论坛中提出。我想要一个对Powershell进行单元测试的解决方案。如果您认为这是个坏主意(可能是),请将其视为一个有趣的学术问题。 是的,脚本语言将不同的系统粘合在一起。但是,正如已经指出的那样,以动态语言模拟和破坏接缝也很容易。 我不是在问“调试”。调试是一个非常有用的主题。我让别人问。 也许PS脚本应该很简单。该语言支持模块化,并且不可避免地会在PS中实现复杂的流程(即使是一个不好的主意)。 这个问题的答案不是“您不能”。我可以看到(从链接的博客-有点旧了),有些人在解决该问题上取得了进展。 重新说明一下:如何以xUnit样式实现Powershell逻辑的自动化测试? 集成测试很有趣,而打破依赖关系的单元测试最有趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.