Husk å lese de forrige artiklene i serien:
- Lær hvordan du automatiserer Windows med PowerShell
- Lære å bruke Cmdlets i PowerShell
- Lære hvordan du bruker objekter i PowerShell
- Læreformatering, filtrering og sammenligning i PowerShell
- Lær å bruke Remoting i PowerShell
- Bruke PowerShell til å få datamaskininformasjon
- Arbeider med samlinger i PowerShell
Og hold deg innstilt for resten av serien hele uken.
snapin-moduler
Snapins er så i fjor. Alle vitser til side, snapins aldri virkelig fanget blant PowerShell samfunnet fordi de fleste scripters ikke er utviklere, og du kan bare skrive snapins på et språk som C #. Likevel er det fortsatt noen produkter som bruker snapins, for eksempel Web Deploy for eksempel. For å se hvilke snapins som er tilgjengelige for deg å bruke i skallet, bruker du følgende kommando:
Get-PSSnapin –Registered
Add-PSSnapin -Name WDeploySnapin3.0
På dette tidspunktet vil du få en feil hvis du ikke har installert Web Deploy snapin. Hvis du har det installert, som jeg gjør, så blir det importert til økten din. For å få en liste over kommandoer som er tilgjengelige i snapin, kan du bare bruke kommandoen Get-Command cmdlet:
Get-Command –Module WDeploy*
Merk: Teknisk er dette ikke en modul, men av en eller annen grunn må du fortsatt bruke modulparameteren.
moduler
Modulene er nyere og er veien fremover. De kan både skannes med PowerShell, så vel som kodet på et språk som C #. De fleste av de innebygde kommandoene er også organisert i moduler. For å se en liste over moduler på systemet, kan du bruke følgende kommando:
Get-Module –ListAvailable
Import-Module -Name SQLASCMDLETS
Du kan bruke det samme trikset vi brukte med snapins for å se alle kommandoene som modulen legger til skallet.
($env:PSModulePath).Split(“;”)
Det vil spytte ut innholdet i variabelen. Legg merke til at hvis du har en modul som SQL installert, hvordan den endret variabelen for å inkludere SQL-modulens plassering.
Modul Automatisk lading
PowerShell 3 introduserte en fantastisk ny funksjon som går av noen få navn. Ingen av dem er offisielle, men "Module Auto Loading" er den beste beskrivelsen av den. I utgangspunktet kan du bruke cmdlets som tilhører en ekstern modul uten eksplisitt import av modulen ved hjelp av cmdlet Import-modulen. For å se dette, fjern først alle modulene fra skallet ditt ved å bruke følgende kommando:
Get-Module | Remove-Module
Du kan da kontrollere at du ikke har noen moduler lastet ved å bruke følgende:
Get-Module
Test-Connection localhost