Snapin-ek

A PowerShell moduláris felépítésű. A PowerShell 1.0 verzióban az egyes cmdletek és providerek különböző snapin-eknek voltak köszönhetők. A snapinek általában dll fájlok, és a registry-ben kell őket regisztrálni a PowerShell számára. Egy ilyen snapin regisztrációjának lenyomata valahogy így néz ki:

59 . ábra Snapin regisztrációja

Ezt természetesen nem nekünk, manuálisan kell bejegyezni, hanem a snapin gyártója általában biztosít valamilyen telepítőt, ami ezt megteszi. Ha van ilyen szépen előkészített snapinünk, akkor – ha a telepítője valamilyen egyéb módon nem integrálja be a PowerShell konzolba – a Add‑PSSnapin  cmdlettel be tudjuk építeni a PowerShell konzolba.

Snapinekből már eleve több van a PowerShellben, és ezeket a „gyári” snapineket nem kell külön regisztrálni. A snapinek lekérdezhetők a get-pssnapin  cmdlettel:

[2] PS C:\> Get-PSSnapin

 

 

Name        : Microsoft.PowerShell.Diagnostics

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains Windows Eventing and

              Performance Counter cmdlets.

 

Name        : Microsoft.WSMan.Management

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains cmdlets (such as Get-

              WSManInstance and Set-WSManInstance) that are used by the Wind

              ows PowerShell host to manage WSMan operations.

 

Name        : Microsoft.PowerShell.Core

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains cmdlets used to manag

              e components of Windows PowerShell.

 

Name        : Microsoft.PowerShell.Utility

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains utility Cmdlets used

              to manipulate data.

 

Name        : Microsoft.PowerShell.Host

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains cmdlets (such as Star

              t-Transcript and Stop-Transcript) that are provided for use wi

              th the Windows PowerShell console host.

 

Name        : Microsoft.PowerShell.Management

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains management cmdlets us

              ed to manage Windows components.

 

Name        : Microsoft.PowerShell.Security

PSVersion   : 2.0

Description : This Windows PowerShell snap-in contains cmdlets to manage Win

              dows PowerShell security.

Snap-inekkel kapcsolatos egyéb cmdletek:

[3] PS I:\>Get-Command -noun pssnapin

 

CommandType     Name                          Definition

-----------     ----                          ----------

Cmdlet          Add-PSSnapin                  Add-PSSnapin [-Name] <Stri...

Cmdlet          Get-PSSnapin                  Get-PSSnapin [[-Name] <Str...

Cmdlet          Remove-PSSnapin               Remove-PSSnapin [-Name] <S...

Azaz hozzá lehet adni (Add-PSSnapin) ezeket, le lehet kérdezni (Get-PSSnapin), és el lehet távolítani (Remove-PSSnapin ).

Még azt is megnézhetjük, hogy az egyes cmdletek melyik snapinben tanyáznak:

[17] PS C:\> get-command -commandtype cmdlet | Group-Object pssnapin | ft -wr

ap

 

Count Name                      Group

----- ----                      -----

   79 Microsoft.PowerShell.Mana {Add-Computer, Add-Content, Checkpoint-Compu

      gement                    ter, Clear-Content...}

   41 Microsoft.PowerShell.Core {Add-History, Add-PSSnapin, Clear-History, D

                                isable-PSSessionConfiguration...}

   87 Microsoft.PowerShell.Util {Add-Member, Add-Type, Clear-Variable, Compa

      ity                       re-Object...}

   13 Microsoft.WSMan.Managemen {Connect-WSMan, Disable-WSManCredSSP, Discon

      t                         nect-WSMan, Enable-WSManCredSSP...}

   10 Microsoft.PowerShell.Secu {ConvertFrom-SecureString, ConvertTo-SecureS

      rity                      tring, Get-Acl, Get-AuthenticodeSignature...

                                }

    4 Microsoft.PowerShell.Diag {Export-Counter, Get-Counter, Get-WinEvent,

      nostics                   Import-Counter}

    2 Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript}

Mikor lehet erre szükség? Az alap snap-ineket nem lehet eltávolítani, de találkozhatunk olyan kiegészítésekkel különböző szoftverek által, amelyeket esetleg ki lehet kapcsolni, vagy éppen az alap PowerShell alkalmazáshoz hozzá lehet adni.

Snap-inekkel kapcsolatos változtatások sem időt állók, azaz ha becsukjuk a PowerShell ablakot és újra megnyitjuk, akkor megint az alaphelyzet szerinti snap-inek köszönnek vissza. Ezek automatikus visszatöltéséhez majd a PS konzolfájlok segítenek (ld. 2.1.9 Konzolfájl )

Az „alap” PSSnapineken kívüli egyéb bővítményeket a következő módon tudjuk kilistázni:

PS C:\> Get-PSSnapin -Registered

 

 

Name        : PowerGUI

PSVersion   : 1.0

Description :



Word To HTML Converter