Tag: powershell

从PowerShell中的列中select不同的项目

如果我在PowerShell中发出以下命令,则会返回很多行。 PS C:\Users\benh> get-command CommandType Name ModuleName Definition ———– —- ———- ———- Cmdlet Get-Variable Microsoft.PowerShell.Utility Get-Variable… Cmdlet Get-WebAppDomain WebAdministration Get-WebAppDomain… Cmdlet Get-WebApplication WebAdministration Get-WebApplication… Cmdlet Get-WebAppPoolState WebAdministration Get-WebAppPoolState… … Cmdlet Get-WinEvent Microsoft.PowerShell.Diagnostics Get-WinEvent… Cmdlet Get-WmiObject Microsoft.PowerShell.Management Get-WmiObject… Cmdlet Get-WSManCredSSP Microsoft.WSMan.Management Get-WSManCredSSP… Cmdlet Get-WSManInstance Microsoft.WSMan.Management Get-WSManInstance… Cmdlet Group-Object Microsoft.PowerShell.Utility Group-Object… Cmdlet Import-Alias Microsoft.PowerShell.Utility Import-Alias… Cmdlet Import-Clixml […]

通过PowershellconfigurationWindows资源pipe理器文件夹选项

我正在寻找一种方法来通过Powershell在Windows资源pipe理器的文件夹选项对话框中configuration几个选项。 选项是: select“显示隐藏的文件,文件夹和驱动器” 取消选中“隐藏已知文件types的扩展名” 取消选中“隐藏受保护的操作系统文件(推荐)”

将输出写入PowerShell中的文本文件

我使用下面的代码比较了两个文件: Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) 我怎样才能把这个输出写到一个新的文本文件? 我试过使用echo命令,但是我不太了解这个语法。

在一个命令Powershell多个前景色

我想用一个语句输出许多不同的前景色。 PS C:\> Write-Host "Red" -ForegroundColor Red Red 这个输出是红色的。 PS C:\> Write-Host "Blue" -ForegroundColor Blue Blue 这个输出是蓝色的。 PS C:\> Write-Host "Red", "Blue" -ForegroundColor Red, Blue Red Blue 这个输出是洋红色的,但是我想通过一个命令将颜色设置为红色,对于单词蓝色则是蓝色。 我怎样才能做到这一点?

在PowerShell中的Lambdaexpression式

我有一个C#中的代码使用lambdaexpression式委托传递给一个方法。 我怎样才能在PowerShell中实现这一点。 例如下面是一个C#代码: string input = "(,)(;)(:)(!)"; string pattern = @"\((?<val>[\,\!\;\:])\)"; var r = new Regex(pattern); string result = r.Replace(input, m => { if (m.Groups["val"].Value == ";") return "[1]"; else return "[0]"; }); Console.WriteLine(result); 这是没有使用lambdaexpression式的PowerShell脚本: $input = "(,)(;)(:)(!)"; $pattern = "\((?<val>[\,\!\;\:])\)"; $r = New-Object System.Text.RegularExpressions.Regex $pattern $result = $r.Replace($input, "WHAT HERE?") Write-Host $result 注意:我的问题不是解决这个正则expression式问题。 我只想知道如何将一个lambdaexpression式传递给在PowerShell中接收委托的方法。

Powershell错误“术语”Get-SPWeb“不被识别为cmdlet的名称,函数…”

我只是键入以下试图让我的SharePoint网站: $spWeb = Get-SPWeb -Identity "http://nycs00058260/sites/usitp" 它给了我下面的错误 术语“Get-SPWeb”不被识别为cmdlet,函数,脚本的名称… 该url是正确的,为什么我得到这个错误?

如何在运行时通过脚本检查PowerShell中是否存在cmdlet

我有一个PowerShell脚本需要在多个主机(PowerGUI, PowerShell ISE等)下运行,但是我有一个问题,其中一个主机下有时不存在cmdlet。 有没有办法检查是否存在一个cmdlet,以便我可以将代码封装在if块中,并在不存在时执行其他操作? 我知道我可以使用$host.name来$host.name假设在每个主机上运行的代码,但是我希望使用function检测来代替将来添加的cmdlet。 我也可以使用一个try / catch块,但是由于它运行在托pipe代码中,我假设有一段距离来检测是否通过代码安装了cmdlet。

使用Start-Process和WaitForExit而不是-Wait获取ExitCode

我试图从PowerShell运行一个程序,等待退出,然后访问ExitCode,但没有太多的运气。 我不想用-Wait和Start-Process,因为我需要在后台进行一些处理。 这是一个简化的testing脚本: cd "C:\Windows" # ExitCode is available when using -Wait… Write-Host "Starting Notepad with -Wait – return code will be available" $process = (Start-Process -FilePath "notepad.exe" -PassThru -Wait) Write-Host "Process finished with return code: " $process.ExitCode # ExitCode is not available when waiting separately Write-Host "Starting Notepad without -Wait – return code will […]

有没有一个PowerShell代码格式化程序/漂亮的打印机?

我正在寻找PowerShell程序的源代码美化器。 理想情况下,它将基于CLI,但任何解决scheme都是可以接受的。 我想避免configuration一个通用的漂亮的打印机工具; 我想要一个适用于PowerShell的解决scheme。 有这样的事吗?

如何从PowerShell中的ForEach-Object退出

我有以下代码: $project.PropertyGroup | Foreach { if($_.GetAttribute('Condition').Trim() -eq $propertyGroupConditionName.Trim()) { $a = $project.RemoveChild($_); Write-Host $_.GetAttribute('Condition')"has been removed."; } }; 问题1:我如何退出ForEach? 我尝试使用“rest”和“继续”,但它不工作。 问题2:我发现我可以在foreach循环中修改列表…我们不能在C#中这样做…为什么PowerShell允许我们这样做?