有用的PowerShell一个衬里

Bin*_*ony 19 .net powershell scripting scripting-language

提供一行有用的PowerShell脚本,请为每个答案提供一个脚本.

这里有一个类似的问题,但是这个问题只给出了带脚本的页面的链接,在这里逐一给出答案,并提供了最常用或最有用的脚本的贡献列表.

  1. 列出最新版本的文件

    ls -r -fi *.lis | sort @{expression={$_.Name}}, @{expression={$_.LastWriteTime};Descending=$true} | select Directory, Name, lastwritetime | Group-Object Name | %{$_.Group | Select -first 1}

  2. gps programThatIsAnnoyingMe | kill

  3. 使用已注册的程序打开文件(start例如start foo.xls)

    ii foo.xls

  4. 检索并显示系统特殊文件夹的路径

    [enum]::getvalues([system.environment+specialfolder]) | foreach {"$_ maps to " + [system.Environment]::GetFolderPath($_)}

  5. 将环境值复制到剪贴板(所以现在你知道如何使用剪贴板!)

    $env:appdata | % { [windows.forms.clipboard]::SetText($input) }
    要么
    ls | clip

使用SnapIns

  1. TFS中两个变更集编号之间的文件

    Get-TfsItemHistory <location> -Recurse -Version <label1>~<label2> | % { $(Get-TfsChangeset $_.ChangeSetID).Changes } | % { $_.Item.ServerItem } | Sort-Object -Unique

  2. 获取Exchange 200中所有Hub服务器上的错误的队列消息

    Get-ExchangeServer | ?{$_.IsHubTransportServer -eq $true} | Get-Queue | ?{$_.LastError -ne $null} | Sort-Object -Descending -Property MessageCount | ft -Property NextHopDomain,@{l="Count";e={$_.MessageCount}},@{l="Last Try";e={$_.LastRetryTime.tosting("M/dd hh:mm")}},@{l="Retry";e={$_.NextRetryTime.tostring("M/dd hh:mm")}},Status,LastError -AutoSize

EBG*_*een 13

嗯,这是我经常使用的一些解释.

__PRE__

ii是Invoke-Item的别名.此命令行开关基本上调用在Windows中为以下项目注册的任何命令.所以这:

__PRE__

foo.xls在Excel中打开(假设您已安装Excel并且.xls文件与Excel关联).

ii ..指当前工作目录,因此命令会导致Windows资源管理器在当前目录中打开.

  • 您可以在正常提示中执行此操作,只需键入foo.xls即可启动Excel/OpenOffice /无论您关联的是什么.键入资源管理器,它将在该位置启动Windows资源管理器会话. (3认同)

zda*_*dan 13

列出我今天更新的所有文件:

dir | ?{$_.LastWriteTime -ge [DateTime]::Today}
Run Code Online (Sandbox Code Playgroud)

经常使用它,我实际上在我的个人资料中创建了一个小功能:

function Where-UpdatedSince{
Param([DateTime]$date = [DateTime]::Today,
      [switch]$before=$False)
Process
{ 
    if (($_.LastWriteTime -ge $date) -xor $before)
    {
        Write-Output $_
    }
} 
};  set-item -path alias:wus -value Where-UpdatedSince
Run Code Online (Sandbox Code Playgroud)

所以我可以说:

dir | wus
dir | wus "1/1/2009"
Run Code Online (Sandbox Code Playgroud)

要查看今天之前更新的内容:

dir | wus -before
Run Code Online (Sandbox Code Playgroud)


Jar*_*Par 6

我最喜欢的powershell一个班轮

gps programThatIsAnnoyingMe | kill
Run Code Online (Sandbox Code Playgroud)