Могучий шелл Naked Snake Хакер, номер #091, стр. 091-040-4 Фас, профиль! Все, что находится в файле-профайле, исполняется со стартом PowerShell автоматически. Этот файл может лежать в таких местах: 1) "\Documents and settings\All users\Documents\PsConfiguration\profile.ps1" 2) "\Documents and settings\All users\\Documents\PsConfiguration\<shellId>_profile.ps1" 3) "Мои документы\PsConfiguration\profile.ps1" 4) "Мои документы\PsConfiguration\<shellId>_profile.ps1" Что пихать в профайл, я думаю, понятно: настройки приглашения, установку алиасов для команд, выполнение каких-нибудь будничных операций, не требующих твоего вмешательства. Приведу небольшой пример кода от гиков с http://mshforfun.blogspot.com/: function prompt { $host.ui.rawui.WindowTitle = "Files: " + (get-childitem).count + " Process: " + (get-process).count Write-Host ("PS " + $(get-location) +">") -nonewline -foregroundcolor Magenta return " " } Если добавить эту функцию в свой профайл, то приглашение, которое выводит текущий путь, окрасится в красивый фиолетовый цвет, а в заголовке окна покажется количество элементов в текущем каталоге и число запущенных процессов. Вообще, если немного повозится с тюнингом профайла, то можно нехило поднатаскаться в создании скриптов и заметно упростить использование шелла. Например, никто не мешает тебе подсвечивать разные типы файлов соответствующими им цветами. Это не только радует глаз, но и заметно упрощает навигацию по файловой системе. А реализуется проще простого: $list = get-childitem | sort-object foreach ($objItem in $list) { if ($objItem.Attributes -contains "Directory") { $fgc="cyan" } elseif ($objItem.Extension -eq ".ps1") { $fgc="blue" } elseif ($objItem.Extension -eq ".exe") { $fgc="green" } elseif ($objItem.Extension -eq ".zip") { $fgc="red" } elseif ($objItem.Extension -eq ".rar") { $fgc="red" } else { $fgc="gray" } write-host $objItem.Name, $objItem.Length, $objItem.LastWriteTime -foregroundcolor $fgc } Формальное описание: получаем содержимое директории как массив, парсим его с помощью конструкции if/elseif/else, задаем значение переменной $fgc. Впоследствии, когда строка будет выводиться на экран, с ее помощью будет назначен цвет текста. Интерфейс управления системой А теперь с помощью функции получим список, установленного в системе оборудования: Function Show-InstalledSoftware { $prod = Get-WmiObject win32_product $prod| sort name |ft Name, Version, Vendor, Installdate -a } set-alias sis Show-InstalledSoftware |