Windows PowerShell programozói's útmutatóWindows PowerShell Programmer's Guide

Ez a programozói útmutató olyan fejlesztők számára készült, akik a rendszergazdák számára biztosítanak parancssori felügyeleti környezetet.This programmer's guide is targeted at developers who are interested in providing a command-line management environment for system administrators. A Windows PowerShell egyszerű módszert kínál a .NET-objektumokat közzétevő felügyeleti parancsok létrehozására, miközben lehetővé teszi a Windows PowerShell számára a munka nagy részét.Windows PowerShell provides a simple way for you to build management commands that expose .NET objects, while allowing Windows PowerShell to do most of the work for you.

A hagyományos parancs-fejlesztés során meg kell írnia egy paraméter-elemzőt, egy paraméter-kötést, egy szűrőt, valamint az egyes parancsok által elérhető összes egyéb funkciót.In traditional command development, you are required to write a parameter parser, a parameter binder, filters, and all other functionality exposed by each command. A Windows PowerShell a következőket teszi lehetővé a parancsok írásához:Windows PowerShell provides the following to make it easy for you to write commands:

  • Egy hatékony Windows PowerShell-futtatókörnyezet (végrehajtó motor) a saját elemzővel és a parancs paramétereinek automatikus kötésére szolgáló mechanizmussal.A powerful Windows PowerShell runtime (execution engine) with its own parser and a mechanism for automatically binding command parameters.

  • Segédprogramok parancssori tolmács (CLI) használatával történő formázásához és megjelenítéséhez.Utilities for formatting and displaying command results using a command line interpreter (CLI).

  • A magas szintű funkcionalitás támogatása (Windows PowerShell-szolgáltatókon keresztül), amelyek megkönnyítik a tárolt adat elérését.Support for high levels of functionality (through Windows PowerShell providers) that make it easy to access stored data.

    Kis mértékben a .NET-objektumokat egy gazdag parancs vagy olyan parancsok határozzák meg, amelyek teljes körű parancssori élményt nyújtanak a rendszergazdának.At little cost, you can represent a .NET object by a rich command or set of commands that will offer a complete command-line experience to the administrator.

    A következő szakasz a Windows PowerShell legfontosabb alapfogalmait és kifejezéseit ismerteti.The next section covers the key Windows PowerShell concepts and terms. Ismerkedjen meg ezekkel a fogalmakkal és kifejezésekkel a fejlesztés megkezdése előtt.Familiarize yourself with these concepts and terms before starting development.

A Windows PowerShell névjegyeAbout Windows PowerShell

A Windows PowerShell számos különböző típusú parancsot definiál, amelyeket a fejlesztéshez használhat.Windows PowerShell defines several types of commands that you can use in development. Ezek a parancsok a következők: függvények, szűrők, parancsfájlok, aliasok és végrehajtható fájlok (alkalmazások).These commands include: functions, filters, scripts, aliases, and executables (applications). Az útmutatóban ismertetett fő parancs típusa egy egyszerű, kis parancs, amelynek neve "parancsmag".The main command type discussed in this guide is a simple, small command called a "cmdlet". A Windows PowerShell parancsmagokat tartalmaz, és teljes mértékben támogatja a parancsmagok testreszabását, hogy megfeleljenek a környezetének.Windows PowerShell furnishes a set of cmdlets and fully supports cmdlet customization to suit your environment. A Windows PowerShell futtatókörnyezet az összes parancsot ugyanúgy dolgozza fel, mint a parancsmagokat, a folyamatokat használva.The Windows PowerShell runtime processes all command types just as it does cmdlets, using pipelines.

A parancsok mellett a Windows PowerShell támogatja a különböző testreszabható Windows PowerShell-szolgáltatókat, amelyek elérhetővé teszik a parancsmagok bizonyos készleteit.In addition to commands, Windows PowerShell supports various customizable Windows PowerShell providers that make available specific sets of cmdlets. A rendszerhéj a Windows PowerShell által megadott gazda alkalmazásban (Windows PowerShell.exe) belül működik, de egy olyan egyéni gazda-alkalmazásból is elérhető, amelyet a konkrét követelmények kielégítése érdekében fejleszthet.The shell operates within the Windows PowerShell-provided host application (Windows PowerShell.exe), but it is equally accessible from a custom host application that you can develop to meet specific requirements. További információt a Windows PowerShell működésérőlszóló témakörben talál.For more information, see How Windows PowerShell Works.

Windows PowerShell-parancsmagokWindows PowerShell Cmdlets

A parancsmag egy egyszerű parancs, amely a Windows PowerShell-környezetben használatos.A cmdlet is a lightweight command that is used in the Windows PowerShell environment. A Windows PowerShell-futtatókörnyezet a parancssorban megadott Automation-parancsfájlok kontextusában hívja meg ezeket a parancsmagokat, a Windows PowerShell-futtatókörnyezet pedig programozott módon is meghívja őket a Windows PowerShell API-kon keresztül.The Windows PowerShell runtime invokes these cmdlets within the context of automation scripts that are provided at the command line, and the Windows PowerShell runtime also invokes them programmatically through Windows PowerShell APIs.

A parancsmagokkal kapcsolatos további információkért lásd: Windows PowerShell-parancsmag írása.For more information about cmdlets, see Writing a Windows PowerShell Cmdlet.

Windows PowerShell-szolgáltatókWindows PowerShell Providers

A felügyeleti feladatok végrehajtása során előfordulhat, hogy a felhasználónak meg kell vizsgálnia egy adattárban (például a fájlrendszerben, a Windows beállításjegyzékben vagy a tanúsítványtárolóban) tárolt adatok vizsgálatát.In performing administrative tasks, the user may need to examine data stored in a data store (for example, the file system, the Windows Registry, or a certificate store). Ahhoz, hogy ezek a műveletek egyszerűbbek legyenek, a Windows PowerShell egy, a Windows PowerShell-szolgáltató nevű modult határoz meg, amely egy adott adattárhoz, például a Windows-beállításjegyzékhez való hozzáféréshez használható.To make these operations easier, Windows PowerShell defines a module called a Windows PowerShell provider that can be used to access a specific data store, such as the Windows Registry. Mindegyik szolgáltató a kapcsolódó parancsmagok egy készletét támogatja, hogy a felhasználó szimmetrikus képet adjon a tárolóban lévő adatról.Each provider supports a set of related cmdlets to give the user a symmetrical view of the data in the store.

A Windows PowerShell számos alapértelmezett Windows PowerShell-szolgáltatót biztosít.Windows PowerShell provides several default Windows PowerShell providers. A beállításjegyzék-szolgáltató például támogatja a Windows beállításjegyzék navigálását és kezelését.For example, the Registry provider supports navigation and manipulation of the Windows Registry. A beállításkulcsok elemekként jelennek meg, és a beállításjegyzékbeli értékeket tulajdonságokként kezeli a rendszer.Registry keys are represented as items, and registry values are treated as properties.

Ha olyan adattárat tesz elérhetővé, amelyhez a felhasználónak szüksége van, előfordulhat, hogy saját Windows PowerShell-szolgáltatót kell megírnia a Windows PowerShell-szolgáltatók létrehozásacímű témakörben leírtak szerint.If you expose a data store that the user will need to access, you might need to write your own Windows PowerShell provider, as described in Creating Windows PowerShell Providers. További információ a PowerShell-szolgáltatók aboutWindows: a Windows PowerShell működése.For more information aboutWindows PowerShell providers, see How Windows PowerShell Works.

Gazda alkalmazásHost Application

A Windows PowerShell tartalmazza az alapértelmezett Host Application powershell.exet, amely egy olyan konzol-alkalmazás, amely együttműködik a felhasználóval, és egy konzolablak használatával futtatja a Windows PowerShell-futtatókörnyezetet.Windows PowerShell includes the default host application powershell.exe, which is a console application that interacts with the user and hosts the Windows PowerShell runtime using a console window.

Csak ritkán kell megírnia a saját gazda alkalmazását a Windows PowerShellhez, bár a Testreszabás támogatott.Only rarely will you need to write your own host application for Windows PowerShell, although customization is supported. Az egyik eset, amikor szüksége lehet a saját alkalmazásra, ha olyan grafikus felhasználói felületi interfészre van szükség, amely az alapértelmezett gazda alkalmazás által biztosított felületen gazdagabb.One case in which you might need your own application is when you have a requirement for a GUI interface that is richer than the interface provided by the default host application. Előfordulhat, hogy egyéni alkalmazást is szeretne használni, amikor a parancssorban alapozza a grafikus felhasználói felületet.You might also want a custom application when you are basing your GUI on the command line. További információ: Windows PowerShell-gazda alkalmazás létrehozása.For more information, see How to Create a Windows PowerShell Host Application.

Windows PowerShell-futtatókörnyezetWindows PowerShell Runtime

A Windows PowerShell futtatókörnyezet a parancs feldolgozását megvalósító végrehajtó motor.The Windows PowerShell runtime is the execution engine that implements command processing. Tartalmazza azokat az osztályokat, amelyek a gazdagép-alkalmazás és a Windows PowerShell-parancsok és szolgáltatók közötti felületet biztosítják.It includes the classes that provide the interface between the host application and Windows PowerShell commands and providers. A Windows PowerShell futtatókörnyezet az aktuális Windows PowerShell-munkamenet RunSpace-objektuma, amely a rendszerhéj és a parancsok végrehajtásának operatív környezete.The Windows PowerShell runtime is implemented as a runspace object for the current Windows PowerShell session, which is the operational environment in which the shell and the commands execute. A működési részleteket lásd: a Windows PowerShell működése.For operational details, see How Windows PowerShell Works.

Windows PowerShell nyelvWindows PowerShell Language

A Windows PowerShell nyelve parancsfájl-funkciókat és-mechanizmusokat biztosít a parancsok meghívásához.The Windows PowerShell language provides scripting functions and mechanisms to invoke commands. A szkriptek teljes körű ismertetését a Windows PowerShellben elküldött Windows PowerShell nyelvi dokumentációjában tekintheti meg.For complete scripting information, see the Windows PowerShell Language Reference shipped with Windows PowerShell.

Kiterjesztett típusú rendszer (ETS)Extended Type System (ETS)

A Windows PowerShell számos különböző objektumhoz biztosít hozzáférést, például a .NET-és XML-objektumokhoz.Windows PowerShell provides access to a variety of different objects, such as .NET and XML objects. Ennek következményeként, hogy a rendszerhéj minden objektumtípus esetében közös absztrakciót nyújtson, a kibővített Type System (ETS) rendszerét használja.As a consequence, to present a common abstraction for all object types the shell uses its extended type system (ETS). A legtöbb ETS-funkció átlátható a felhasználó számára, de a parancsfájl vagy a .NET-fejlesztő a következő célokra használja azt:Most ETS functionality is transparent to the user, but the script or .NET developer uses it for the following purposes:

  • Adott objektumok tagjainak egy részhalmazának megtekintése.Viewing a subset of the members of specific objects. A Windows PowerShell a különböző objektumtípusok "kiigazított" nézetét biztosítja.Windows PowerShell provides an "adapted" view of several specific object types.

  • Tagok hozzáadása meglévő objektumokhoz.Adding members to existing objects.

  • Hozzáférés szerializált objektumokhoz.Access to serialized objects.

  • Testreszabott objektumok írása.Writing customized objects.

    Az ETS használatával rugalmasan új "típusok" hozhatók létre, amelyek kompatibilisek a Windows PowerShell nyelvével.Using ETS, you can create flexible new "types" that are compatible with the Windows PowerShell language. Ha Ön .NET-fejlesztő, ugyanazokkal a szemantikaokkal dolgozhat az objektumokkal, mint a Windows PowerShell nyelve, például annak megállapításához, hogy egy objektum kiértékelése megtörtént-e true .If you are a .NET developer, you are able to work with objects using the same semantics as the Windows PowerShell language applies to scripting, for example, to determine if an object evaluates to true.

    További információ az ETS-ről és arról, hogy a Windows PowerShell hogyan használja az objektumokat: a Windows PowerShell-objektumok fogalmai.For more information about ETS and how Windows PowerShell uses objects, see Windows PowerShell Object Concepts.

A Windows PowerShell programozásaProgramming for Windows PowerShell

A Windows PowerShell a .NET-keretrendszer használatával határozza meg a parancsokat, szolgáltatókat és más program-modulokhoz tartozó kódot.Windows PowerShell defines its code for commands, providers, and other program modules using the .NET Framework. Nem korlátozódik a Microsoft Visual Studio használatára a Windows PowerShell testreszabott moduljainak létrehozásához, bár az ebben az útmutatóban megadott minták az eszközön futnak.You are not confined to the use of Microsoft Visual Studio in creating customized modules for Windows PowerShell, although the samples provided in this guide are known to run in this tool. Bármely olyan .NET-nyelvet használhat, amely támogatja az osztályok öröklését és az attribútumok használatát.You can use any .NET language that supports class inheritance and the use of attributes. Bizonyos esetekben a Windows PowerShell API-k megkövetelik, hogy a programozási nyelv hozzáférjen az általános típusokhoz.In some cases, Windows PowerShell APIs require the programming language to be able to access generic types.

Programozói segédletProgrammer's Reference

A Windows PowerShellhez való fejlesztéssel kapcsolatban tekintse meg a Windows POWERSHELL SDK-t.For reference when developing for Windows PowerShell, see the Windows PowerShell SDK.

Első lépések a Windows PowerShell használatávalGetting Started Using Windows PowerShell

A Windows PowerShell rendszerhéj használatának megkezdésével kapcsolatos további információkért tekintse meg a Windows PowerShell szolgáltatással szállított Windows PowerShell- első lépések .For more information about starting to use the Windows PowerShell shell, see the Getting Started with Windows PowerShell shipped with Windows PowerShell. A parancsmagok használatának első lépéseit a gyors hivatkozású tri-fold dokumentum is tartalmazza.A Quick Reference tri-fold document is also supplied as a primer for cmdlet use.

Az útmutató tartalmaContents of This Guide

TémakörTopic DefinícióDefinition
Windows PowerShell-szolgáltató létrehozásaHow to Create a Windows PowerShell Provider Ez a szakasz azt ismerteti, hogyan hozhat létre Windows PowerShell-szolgáltatót a Windows PowerShellhez.This section describes how to build a Windows PowerShell provider for Windows PowerShell.
Windows PowerShell-gazdagép alkalmazásának létrehozásaHow to Create a Windows PowerShell Host Application Ez a szakasz azt ismerteti, hogyan írhat egy RunSpace kezelő gazdagép-alkalmazást, és hogyan írhat olyan gazda alkalmazást, amely megvalósítja a saját egyéni gazdagépét.This section describes how to write a host application that manipulates a runspace and how to write a host application that implements its own custom host.
Windows PowerShelles beépülő modul létrehozásaHow to Create a Windows PowerShell Snap-in Ez a szakasz azt ismerteti, hogyan lehet létrehozni egy beépülő modult, amellyel az összes parancsmag és szolgáltató regisztrálható egy szerelvényben, és hogyan hozható létre egyéni beépülő modul.This section describes how to create a snap-in that is used to register all cmdlets and providers in an assembly and how to create a custom snap-in.
Konzolfelület létrehozásaHow to Create a Console Shell Ez a szakasz azt ismerteti, hogyan hozható létre a nem bővíthető konzol-rendszerhéj.This section describes how to create a console shell that is not extensible.
Windows PowerShell – FogalmakWindows PowerShell Concepts Ez a szakasz olyan elméleti információkat tartalmaz, amelyek segítségével megismerheti a Windows PowerShellt egy fejlesztő szemszögéből.This section contains conceptual information that will help you understand Windows PowerShell from the viewpoint of a developer.

Lásd még:See Also

Windows PowerShell SDKWindows PowerShell SDK