Mind a szkriptkönyvtáraknál, mind a promptnál, mind pedig a snapineknél megjegyeztem, hogy a saját bővítményeinket, testre szabásainkat a PowerShell ablak elfelejti, ha becsukjuk. Ezért vannak olyan megoldások, amelyek a bővítményeink definiálását, beemelését végző szkriptjeinket automatikusan minden PowerShell ablak nyitáskor lefuttatják.
Az egyik ilyen lehetőséggel magát a konzolt tudjuk testre szabni a snapinek tekintetében függetlenül attól, hogy ki indítja el a PowerShell környezetet. Ezt konzolfájl segítségével tudjuk elérni, ilyen fájlt az Export-Console cmdlet segítségével lehet legegyszerűbben létrehozni. Nézzük, hogy most milyen snapinek vannak a gépemen a Start menüből elindított PowerShell ikon után megjelenő konzolban:
PS C:\Users\tibi> Get-PSSnapin | Format-Table name
Name
----
Microsoft.PowerShell.Diagnostics
Microsoft.WSMan.Management
Microsoft.PowerShell.Core
Microsoft.PowerShell.Utility
Microsoft.PowerShell.Host
Microsoft.PowerShell.Management
Microsoft.PowerShell.Security
Pscx
Látszik, hogy én már telepítettem egy bővítményt: PowerShell Community Extentions (Pscx), ami egy PowerShell közösség által fejlesztett bővítménycsomag.
Nézzük ezek után, mit eredményez az export-console cmdlet:
PS C:\Users\tibi> Export-Console -Path .\console
PS C:\Users\tibi> Get-Content .\console.psc1
<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>2.0</PSVersion>
<PSSnapIns>
<PSSnapIn Name="Pscx" />
</PSSnapIns>
</PSConsoleFile>
Ez a cmdlet egy psc1 kiterjesztésű XML fájlt generál, aminek a mélyén ott található azon snapineknek a listája, amelyek nem „gyáriak”. Ha egy ilyen psc1 fájlra duplán kattintunk, vagy a powershell.exe paramétereként szerepeltetjük, akkor az itt felsorolt snapineket automatikusan betölti a konzol. Nézzük, hogy hogyan nézne ki ezzel a powershell.exe felparaméterezése:
powershell.exe -PSConsoleFile .\console.psc1