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

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 коммент. на “Делимся своими профилями!”

  1. kmihas пишет:

    а я 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 пишет:

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

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


Комментарии закрыты.