PowerShell

**PowerShell**, Microsoft-un əmr sətiri qabığından və əlaqəli skript dilindən ibarət tapşırıqların avtomatlaşdırılması və konfiqurasiya idarəetmə proqramıdır. Əvvəlcə yalnız Windows PowerShell kimi tanınan Windows komponenti, 18 avqust 2016-cı ildə PowerShell Core tətbiqi ilə açıq mənbəli və çarpaz platformaya çevrildi. Birincisi .NET Framework, ikincisi isə .NET Core üzərində qurulub.

PowerShell-də, inzibati tapşırıqlar, ümumiyyətlə , müəyyən əməliyyatı həyata keçirən ixtisaslaşdırılmış .NET sinifləri olan *cmdletlər* (tələffüz olunan əmrlər ) vasitəsilə yerinə yetirilir. Bunlar, provayderlər vasitəsilə PowerShell-ə ​​təqdim edilən fayl sistemi və ya Windows Qeydiyyatı kimi müxtəlif məlumat anbarlarında verilənlərə daxil olmaqla işləyir. Üçüncü tərəf tərtibatçıları PowerShell-ə ​​*cmdletlər* və provayderlər əlavə edə bilərlər. Cmdletlər öz növbəsində modullara paketlənə bilən skriptlər tərəfindən istifadə oluna bilər. Cmdletlər .NET API ilə tandemdə işləyir.

## Fon
Komanda xətti tərcüməçisi (command-line interpreter, CLI) əksər Microsoft əməliyyat sistemlərinin ayrılmaz hissəsi olmuşdur. MS-DOS və Xenix demək olar ki, yalnız CLI-yə arxalanırdı. (MS-DOS 5 tamamlayıcı qrafik DOS Shell ilə təchiz edilmişdir.) Windows 9x ailəsi  MS-DOS-un komanda xətti mühiti ilə birləşdirilmişdir. Bununla belə, Windows NT və Windows CE  ailələri  ilə güclü oxşarlıqlar daşıyan yeni ilə gəldi. Hər iki mühit bir neçə əsas daxili əmrləri və müxtəlif tapşırıqları avtomatlaşdırmaq üçün istifadə oluna bilən primitiv skript dilini (toplu faylları) dəstəkləyir. Bununla belə, onlar Windows-un bütün aspektlərini avtomatlaşdıra bilmirlərqrafik istifadəçi interfeysi (GUI), çünki əməliyyatların komanda xətti ekvivalentləri məhduddur və skript dili elementardır.

Microsoft bu çatışmazlıqların bəzilərini 1998-ci ildə Windows Script Host-u Windows 98 və onun komanda xətti əsaslı hostunu təqdim etməklə aradan qaldırmağa cəhd etdi . O, Active Script mühərriki ilə inteqrasiya edir və skriptləri komponent obyekt modeli (COM) vasitəsilə tətbiqlər tərəfindən məruz qalan API-lərdən istifadə edərək, JScript və VBScript kimi uyğun dillərdə yazmağa imkan verir. Bununla belə, onun öz çatışmazlıqları var: onun sənədləri o qədər də əlçatan deyil və bir neçə yüksək profilli kompüter virusundan sonra tez bir zamanda sistem zəifliyi vektoru kimi şöhrət qazandı.təhlükəsizlik müddəalarının zəifliklərindən istifadə etdi. Windows-un müxtəlif versiyaları müxtəlif xüsusi təyinatlı komanda xətti tərcüməçilərini (məsələn, netsh və WMIC kimi) öz komanda dəstləri ilə təmin edirdi, lakin onlar bir-biri ilə işləmirdi. Windows Server 2003 komanda xətti təcrübəsini daha da təkmilləşdirməyə çalışdı, lakin skript dəstəyi hələ də qənaətbəxş deyildi.

## Dizayn
PowerShell üçün əsas dizayn taktikası Windows, Windows Management Instrumentation, .NET Framework və digər proqram təminatında artıq mövcud olan çoxlu sayda API-lərdən istifadə etmək idi. PowerShell cmdletləri mövcud funksionallığı "ətrafına sarar". Bu taktikanın məqsədi inzibatçılar arasında daha uyğun, daha ardıcıl interfeys və geniş spektrli əsas funksionallıq təmin etməkdir. PowerShell ilə inzibatçının .NET, WMI və ya aşağı səviyyəli API kodlamasını bilməsinə ehtiyac yoxdur və bunun əvəzinə PowerShell tərəfindən ifşa olunan cmdletlərdən istifadəyə fokuslana bilər. Bu baxımdan, PowerShell kiçik yeni funksionallıq yaradır, bunun əvəzinə mövcud funksionallığı müəyyən auditoriya üçün daha əlçatan etməyə diqqət yetirir.

## Həmçinin bax
* Proqramlaşdırma dili
* cmd.exe
* Əmr sətiri
* Windows
* .NET Framework

## İstinadlar

## Xarici keçidlər
* Rəsmi saytı
* GitHub-da PowerShell
* TechNet Wiki-də Windows PowerShell Survival Guide