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 " " }
Подробнее про приглашение я писал тут.
15.10.2009 в 15:46
а я 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) + «# »
}
15.10.2009 в 21:39
kmihas: Мило получилось 🙂 Только скобки с плюсами вокруг write-host’ов не нужны. Можно так:
…
pwd|write-host -ForegroundColor Cyan -nonewLine
write-host «]» -ForegroundColor Cyan
«# »
}