Делимся своими профилями!

Hal Rottenber предложил отличную идею – поделиться своими профилями, сам же и начал — http://halr9000.com/article/723. Мысль просто превосходная – нечего скрывать свои знания, лучше поделитесь с другими! 🙂 Авось и для себя чего то найдете нового 🙂 Еще ссылки на профили в комментариях к посту.

Короче говоря присоединяйтесь. Вот мой профиль — http://posh.jaykul.com/p/2029.

На всякий случай еще и сюда скопипастю с комментариями на русском 🙂

# Устанавливаем корневую папку            
$Root = "c:\root"             
            
# Переходим в неё            
Set-Location $Root             
            
# Включаем отладочную и дополнительную информацию по умолчанию (чтобы не приходилось указывать ключ -Verbose)            
$VerbosePreference = "Continue"            
$DebugPreference = "Continue"            
            
# Проверяем, обладает ли пользователь повышенными привилегиями (Позаимствовано из PSCX)            
$IsElevated=$false            
foreach ($sid in [Security.Principal.WindowsIdentity]::GetCurrent().Groups) {            
    if ($sid.Translate([Security.Principal.SecurityIdentifier]).IsWellKnown([Security.Principal.WellKnownSidType]::BuiltinAdministratorsSid)) {            
        $IsElevated=$true            
    }            
}            
            
# Добавляем папки с утилитами в $env:path            
"$Root",            
"$Root\Scripts",            
"$Root\PowerShell",            
"$Root\Sysinternals",            
"$Root\ResKit",            
"$Root\Joe",            
"$Root\SupTools",            
"$Root\Bin" | foreach {            
 Write-Verbose "`t$_"            
 $env:path += ";$_"            
}            
            
# Подключаем PowerTab            
& 'C:\Root\PowerTab\Init-TabExpansion.ps1' -ConfigurationLocation 'C:\Root'             
            
# Изменяем приглашение            
function prompt            
{            
 [Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath            
    $host.ui.rawui.windowtitle = "$($env:userdomain)\$($env:username) on $($env:computername)"            
 $path = (Get-Location).path -replace '^(.*?[^:]:\\).+(\\.+?)$',('$1'+[char]8230+'$2') -replace '^.+?::' -replace '^(\\\\.+?\\).+(\\.+?)$',('$1'+[char]8230+'$2')            
    $id = ([int](Get-History -Count 1).Id) + 1            
    $prefix = "[PS <$id> "            
 if ($NestedPromptLevel){$prefix += "($NestedPromptLevel) "}            
    if ($isElevated) {$Color = "Red"} else {$Color = "White"}            
 write-host $prefix -ForegroundColor $Color -NonewLine            
 write-host ($path) -foregroundcolor "Gray" -NonewLine            
 write-host "]" -ForegroundColor $Color -NonewLine            
 " "            
}            

Подробнее про приглашение я писал тут.

Опубликовано в PowerShell. Метки: , , . 2 комментария »

комментария 2 to “Делимся своими профилями!”

  1. kmihas Says:

    а я prompt по другому сделал ..

    $Host.UI.RawUI.BackgroundColor = «black»
    $Host.UI.RawUI.ForegroundColor = «green»
    function prompt
    {
    $who = «$($env:userdomain)\$($env:username)\$($env:computername)»
    (write-host «[» -ForegroundColor Red -nonewLine) +
    ($who|write-host -ForegroundColor Red -nonewLine) +
    (write-host «] » -ForegroundColor Red -nonewLine) +
    (write-host «[» -ForegroundColor DarkCyan -nonewLine) +
    (get-date -uformat «%H:%M:%S»|write-host -ForegroundColor DarkCyan -nonewLine) +
    (write-host «] » -ForegroundColor DarkCyan -nonewLine) +
    (write-host «[» -ForegroundColor Cyan -nonewLine) +
    (pwd|write-host -ForegroundColor Cyan -nonewLine) +
    (write-host «]» -ForegroundColor Cyan) + «# »
    }

  2. Xaegr Says:

    kmihas: Мило получилось 🙂 Только скобки с плюсами вокруг write-host’ов не нужны. Можно так:

    pwd|write-host -ForegroundColor Cyan -nonewLine
    write-host «]» -ForegroundColor Cyan
    «# »
    }


Обсуждение закрыто.