Решил присоединиться к благородному движению по публикации профилей PowerShell. ;)
Собственно, вот он, мой профиль:
# Еще один алиас для get-help (мне так удобнее) Set-Alias gh get-Help #from PSCX $IsElevated=$false foreach ($sid in [Security.Principal.WindowsIdentity]::GetCurrent().Groups) { if ($sid.Translate([Security.Principal.SecurityIdentifier]).IsWellKnown([Security.Principal.WellKnownSidType]::BuiltinAdministratorsSid)) { $IsElevated=$true } } # Формируем приглашение командной строки и заголовок окна PoSh Function Prompt { #Поменяем заголовок окна (Get-Host).UI.RawUI.WindowTitle="PS # $env:computername # $env:userdomain\$env:username # $(Get-Location)" #Определяем значение переменной $PromptStr, которая будет содержать приглашение командной строки $HistoryCount=(Get-History -Count 1).Id+1 if ($NestedPromptLevel) {$PromtStr="PS($HistoryCount)>nested($NestedPromptLevel)>"} else {$PromtStr="PS($HistoryCount)>"} #Если мы работаем с правами лок. админа, то текст приглашения командной строки - красный #иначе - зеленый if ($isElevated) {$PromptColor = "Red"} else {$PromptColor = "Green"} #Выводим на экран приглашение командной строки Write-Host $PromtStr -ForegroundColor $PromptColor -NoNewline # " " # ############################################################################################## #### Синхронизируем текущую папку хостового приложения (PowerShell.exe) и #### текущую папку "внутри" хостового приложения, #### которая может быть установлена при помощи set-location #### http://xaegr.wordpress.com/2009/05/14/prompt/ # [Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath } # ############################################################################################# "Добавление всех зарегистрированных оснасток..." # get-pssnapin -registered | add-pssnapin -passthru -ErrorAction SilentlyContinue "... и модулей...`n" Get-Module -ListAvailable| Import-Module -PassThru -ErrorAction SilentlyContinue "...готово`n" # # ############################################################################################## #### Установим кодовую страницу передачи данных по конвейеру #### для native applicatition (не командлетов, таких как findstr, dsquery, etc.) #### http://blogs.msdn.com/powershell/archive/2006/12/11/outputencoding-to-the-rescue.aspx ### # $OutputEncoding = [Console]::OutputEncoding #
Ничего оригинального, но мне нравится ;)
Поясню чуть более подробно содержимое некоторых частей моего профиля. Читать далее…