Полезные вкладыши PowerShell one - PullRequest
19 голосов
/ 05 марта 2009

Укажите сценарий 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. Получает сообщения очереди с ошибками на всех серверах-концентраторах в обмен 200

    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

Ответы [ 19 ]

2 голосов
/ 01 июня 2009

Это может быть мошенничеством, так как у меня установлена ​​оснастка TFS PowerTools, но это очень полезно для выяснения, какие файлы изменились между двумя наборами изменений, версиями или метками.

Get-TfsItemHistory <location> -Recurse -Version <label1>~<label2> | 
% { $(Get-TfsChangeset $_.ChangeSetID).Changes } |
% { $_.Item.ServerItem } | Sort-Object -Unique
2 голосов
/ 22 марта 2009

Показывает, какие процессы используют какие версии библиотек MS CRT:

gps | select ProcessName -exp Modules -ea 0 | 
  where {$_.modulename -match 'msvc'} | sort ModuleName | 
  Format-Table ProcessName -GroupBy ModuleName
1 голос
/ 27 сентября 2013

Генерирует несколько псевдослучайных байтов в файле.

[Byte[]]$out=@(); 0..9 | %{$out += Get-Random -Minimum 0 -Maximum 255}; [System.IO.File]::WriteAllBytes("random",$out)

Алгоритм Get-Random берет начальное значение от системных часов, поэтому не используйте его для серьезных криптографических нужд.

1 голос
/ 25 октября 2012

труба выводит что-то в буфер обмена

ls | clip
0 голосов
/ 22 января 2016
cls

Избавляйтесь от всех труднопреодолимых -разрядных красных меток после каждой из моих попыток команд, позволяя мне возобновить работу с красивым, шикарным и ясным экраном.

0 голосов
/ 04 июля 2011

Список всех провайдеров Windows в альфа-порядке:

get-winevent -listprovider microsoft-windows* | % {$_.Name} | sort

На самом деле вы можете использовать это с подстановочным знаком для любой конкретной группы провайдеров:

get-winevent -listprovider microsoft-windows-Securit* | % {$_.Name} | sort
0 голосов
/ 03 февраля 2010

Скопируйте некоторые на рабочий стол:

Copy-Item $home\*.txt ([Environment]::GetFolderPath("Desktop"))
0 голосов
/ 18 декабря 2009

Функция дисплея системы в рабочем состоянии Я использую это для своей бухгалтерской таблицы

    function get-uptime
{
$PCounter = "System.Diagnostics.PerformanceCounter"
$counter = new-object $PCounter System,"System Up Time"
$value = $counter.NextValue()
$uptime = [System.TimeSpan]::FromSeconds($counter.NextValue())
"Uptime: $uptime"
"System Boot: " + ((get-date) - $uptime)
}
0 голосов
/ 01 июня 2009

Получает сообщения очереди с ошибками на всех серверах-концентраторах в Exchange 2007 (с некоторым форматированием)

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        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...