133
5.9.6. PowerShell командалық қабаты
Windows операциялық жүйелерінің командалық жолақ құралдары
UNIX/Linux- жүйелерінің түрлі қабаттарында ұсынылатын құралдарға
қуаты және ыңғайлылығы жағынан артта қалады. Microsoft
фирмасының өңдеушілері үнемі командалық интерпретатордың бар
функционалдығын арттырып отырады және жаңа құралдар қосады,
бірақ бұл командалық сценарий құру мәселесін түбегейлі
өзгертпейді—олардың зерттемесі әлі күнге дейін айтарлықтай ауыр
және ыңғайсыз.
Осыған байланысты Microsoft фирмасы командалық жолақ
интерфейсі және сценарийлерді құруға арналған кіріктірілген тілі бар
жаңа қабат шығару туралы шешім қабылдады. Бұл қабат PowerShell
деген атауға ие болды. Бұл қабат Cmd.exe/Command.com, BASH, WSH,
Perl және басқа да қабаттардың қасиеттерін дамытады. Бұл қабат
платформамен біріктірілген. .NET Framework мына операциялық
жүйелерде пайдалануға болады: Windows XP SP3, Windows Server 2003
SP2, Windows Vista SP1, Windows Server 2008, Windows 7 және
Windows 8.
PowerShell COM және WMI толық қолжетімділікті ұсынады, ол
әкімшілерге жергілікті және алыс жүйелерді басқаруға мүмкіндік
береді.
PowerShell ішіндегі әр команда командлет деп аталады, ол берілген
операцияны орындайтын арнайы классын .NET қамтиды. Бірнеше
командлеттерді бір сценарийге немесе тәуелсіз орындалатын бинарлы
бағдарламаға біріктіруге болады.
Windows PowerShell сырттан келген қосымшаларға PowerShell
командлеттерін қолдануға мүмкіндік беретін арнайы механизм
ұсынады. Мысалы, Microsoft Exchange Server 2007 осы механизмді
PowerShell ортасында әкімшілерге басқарудың өз механизмін ұсыну
үшін қолданады. Оған қоса, жүйе әкімшісінде деректер базасының
күйімен командлеттер интерфейсі арқылы басқару мүмкіндігі туады.
PowerShell төрт түрлі команданы орындай алады:
1) командлет
.NET
жабын
ядросымен
жүктелетін
және
орындалатын арнайы кітапхана түрінде беріледі;
2) PowerShell сценарийлері (.ps1 кеңейтілуі бар);
3) PowerShell атқарымдары;
4) бинарлық бағдарламалар.
134
PowerShell команданың мысалы ретінде келесі мысалдарды
қарастыруға болады.
Барлық алдын-ала анықталған командлеттерді қарау үшін Get-
Command командасын енгізу жеткілікті. PowerShell бойынша
анықтама алу үшін Get-Help командасын енгізу қажет.
Р таңбасынан басталатын барлық процестерді аяқтау үшін келесі
команданы енгізу жеткілікті:
PS> Get-Process p* | Stop-Process
Қандай процес аяқталғанын тексеру үшін немесе процес
тоқтағанша сценарийдің орындалуын тоқтату үшін келесі команданы
енгізеді:
PS> $processToWatch = Get-Process Notepad
PS> $processToWatch.WaitForExit()
Синонимдер механизмін пайдаланып, бұл сценарийді әлдеқайда
қысқартып жазуға болады:
PS> (ps notepad).WaitForExit()
Get-Process командлетінде ps синонимі бар. Осы синонимді
пайдаланып, сценарийді қысқартуға болады. Көптеген синонимдер
толықтай осы жабындағы командалармен ұқсас болғандықтан, оларды
BASH сценарийіне ұқсас етуге болады. Барлық синонимдер тізімін алу
үшін Get-Alias командлетін орындау жеткілікті.
.NET Framework негізінде PowerShell құрылғандықтан және оның
көптеген қасиеттерін иеленетіндіктен, .NET тәсілдерін және
класстарын қолдану мүмкіндігі пайда болады. Мысалы, сценарийде
қандай да бір саннан түбір табу қажет болса, ол үшін Sqrt() статикалық
тәсілін шақыруға болады:
PS> [System.Math]::Sqrt(16) 4
Жалпы айтқанда бұл жабын әкімшілердің мүмкіндіктерін
айтарлықтай кеңейтеді, .NET барлық қуатын пайдаланып, анағұрлым
оңай сценарийлерді жазу мүмкіндігін береді және графикалық
жабынды қолданбай-ақ жүйенің барлық қызметтеріне қолжетімділікке
ие болады, әдетте жасалатын әрекеттер үшін өте ыңғайлы.
|