Jerry Lee Ford - Microsoft Windows PowerShell 2.0 Programming for the Absolute Beginner (2nd Ed) 2008 - Ch2

Ch. 2
Продолжаем учить Powershell по изданию
Listing тут


В свойствах ярлыка запуска PS можно задать - стр. 46
1. PATH - начальный каталог запуска "in the Start in field"
2. Свойства цвета консоли и текста

Конфигурацию консоли можно также задать при помощи файла профиля "Microsoft.PowerShell_profile.ps1" - стр. 47
Текущий путь до профиля можно просмотреть переменной $profile, и если в ФС нет нужного пути, то создать необходимый файл Microsoft.PowerShell_profile.ps1 с нужным наполнением -  стр. 46
Get-Host - контекст выполняемой программы, через свойства которого можно достучаться до необходимых свойств консоли:

  • (Get-Host).UI.RawUI | Format-List -Property * - список доступных свойств
  • ForegroundColor       : DarkYellow
    BackgroundColor       : DarkMagenta
    CursorPosition        : 0,235
    WindowPosition        : 0,186
    CursorSize            : 25
    BufferSize            : 120,3000
    WindowSize            : 120,50
    MaxWindowSize         : 120,61
    MaxPhysicalWindowSize : 182,61
    KeyAvailable          : True
    WindowTitle           : Administrator: Windows PowerShell (x86)
Текст для скрипта взять отсюда:
  • $PSConsoleWindow = (Get-Host).UI.RawUI
    $PSConsoleWindow.BackgroundColor = "White"
    $PSConsoleWindow.ForegroundColor = "DarkBlue"
    $PSCOnsoleWindow.WindowTitle = "Jerry's Customized PowerShell Console Session"
    $PSConsoleSize = $PSConsoleWindow.WindowSize
    $PSConsoleSize.Width = 80
    $PSConsoleSize.Height = 25
  • $PSConsoleWindow.WindowSize = $PSConsoleSize
    Clear-Host

TAB (автоокончание) в Powershell предлагает различные варианты: просто нажимаете  Tab Tab Tab до того момента, пока не найдете нужную команду. Также Tab помогает дополнить имя файла, переменной, свойства. - стр. 50

cmdlet Get-History - доступ к буферу набранных команд - стр. 53
cmdlet Invoke-History X - отработка команды X из буфера команд - стр. 53

Работа с иерархическими данными в PS реализована не только как работа с ФС, но и со следующ. иерархическими данными:
• Alias commands
• Environment variables
• Windows PowerShell functions
• The Windows registry
• Variables
• Certificates
Причем реализованная в PS модель работы с иерарх. данными аналогична аботе с ФС (cd or Set-Location and dir or Get-ChildItem)
Get-PSProvider - Список конкретных для данной ОС\ПК иерар. данных - стр. 62
Каждый такой поставщик данных (provider) представлен как некий "накопитель"
Get-PSDrive - список всех доступных накопителей и того, к какому провайдеру они относятся - стр. 63
Set-Location XXX: - Переход между накопителями - стр. 63
Get-ChildItem - список объектов на текущем накопителе
Например
Set-Location Env:
Get-ChildItem
Дают переменные среды:
Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\Administrator\AppData\Roaming
CommonProgramFiles             C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
CommonProgramW6432             C:\Program Files\Common Files
COMPUTERNAME                   DESKTOP-Q98O63M
ComSpec                        C:\WINDOWS\system32\cmd.exe
HOMEDRIVE                      C:
HOMEPATH                       \Users\Administrator
LOCALAPPDATA                   C:\Users\Administrator\AppData\Local
LOGONSERVER                    \\DESKTOP-Q98O63M
MOZ_PLUGIN_PATH                C:\Program Files\Tracker Software\PDF Viewer\Win32\
NUMBER_OF_PROCESSORS           2
OS                             Windows_NT
Path                           C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Windows
PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE         x86
PROCESSOR_ARCHITEW6432         AMD64
PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 23 Stepping 6, GenuineIntel
PROCESSOR_LEVEL                6
PROCESSOR_REVISION             1706
ProgramData                    C:\ProgramData
ProgramFiles                   C:\Program Files (x86)
ProgramFiles(x86)              C:\Program Files (x86)
ProgramW6432                   C:\Program Files
PSModulePath                   C:\Program Files\WindowsPowerShell\Modules;C:\Users\Administrator\Documents\Windows
PUBLIC                         C:\Users\Public
SystemDrive                    C:
SystemRoot                     C:\WINDOWS
TEMP                           C:\Users\ADMINI~1\AppData\Local\Temp
TMP                            C:\Users\ADMINI~1\AppData\Local\Temp
USERDOMAIN                     DESKTOP-Q98O63M
USERDOMAIN_ROAMINGPROFILE      DESKTOP-Q98O63M
USERNAME                       Administrator
USERPROFILE                    C:\Users\Administrator
windir                         C:\WINDOWS

С реестром немного хуже: через PS доступ будет только к HKLM и HKCU - стр. 65