Share this post:
Profil PowerShell jest skryptem, który uruchamia się, gdy PowerShell startuje i ma określoną nazwę.
PowerShell obsługuje kilka profili dla użytkowników i programów hosta. Kiedy mówimy programy hosta, myślimy przede wszystkim o Windows PowerShell Console i Windows PowerShell ISE. Jednak nie tworzy profili dla Ciebie, więc kontynuuj czytanie tego artykułu, a pokażę Ci, jak tworzyć i dostosowywać profile z niesamowitymi przykładami.
Możemy utworzyć 3 pliki profili dla każdego użytkownika w systemie, jeden dla każdego hosta (Windows PowerShell Console i ISE) i jeden dla wszystkich hostów.
Dodatkowo można utworzyć 3 pliki profili dla wszystkich użytkowników, jeśli chcemy zastosować jakieś dostosowanie mające zastosowanie do wszystkich użytkowników.
WAŻNE: Jeśli posiadamy osobną instalację PowerShell w wersji 6 to możemy utworzyć 4 dodatkowe profile. Dwa pliki profili na użytkownika i dwa pliki profili dla wszystkich użytkowników.
Table of Contents
Polecenia profili PowerShell, Hosty, Nazwy profili, Lokalizacje profili
Tutaj jest tabela, która pokazuje Typy profili, Polecenia, które mogą być użyte do sprawdzenia, czy profil istnieje i utworzyć je, jeśli chcemy, Którego hosta dotyczy ten profil, Nazwa pliku profilu i Lokalizacja pliku profilu.
# | Typ profilu | Komenda | Host | Nazwa pliku profilu | Lokalizacja pliku profilu |
---|---|---|---|---|---|
1* | Aktualny użytkownik, Current Host | $profile | Console | Microsoft.PowerShell_profile.ps1 | $HOME DocumentsWindowsPowerShell |
2 | All Users, Current Host | $profile.AllUsersCurrentHost | Console | Microsoft.PowerShell_profile.ps1 | $PSHOME |
3 | Current User, All Hosts | $profile.CurrentUserAllHosts | Console, ISE | Profile.ps1 | $HOME DokumentyWindowsPowerShell |
4 | All Users, All Hosts | $profile.AllUsersAllHosts | Console, ISE | Profile.ps1 | $PSHOME |
5** | Current user, Current Host | $profile | ISE | Microsoft.PowerShellISE_profile.ps1 | $HOME DocumentsWindowsPowerShell |
6** | Wszyscy użytkownicy, Current Host | $profile.AllUsersCurrentHost | ISE | Microsoft.PowerShellISE_profile.ps1 | $PSHOME |
Tabela 1 – Typy profili PowerShell, polecenia, hosty, nazwy plików, lokalizacje plików
* Zamiast $profile możemy użyć $profile.CurrentUserCurrentHost polecenie.
** Uruchom polecenie z konsoli Windows PowerShell ISE.
Aby znaleźć prawidłowe wartości dla zmiennych $HOME i $PSHOME na swojej instalacji PowerShell należy wykonać następujące polecenia:
$HOME
Zwykle wartość dla $HOME to C:\Users\user_name
$PSHOME
Zazwyczaj wartość dla $PSHOME to C:\WindowsSystem32\WindowsPowerShell\v1.0
PAMIĘTAJ: Jeśli posiadamy osobną instalację PowerShell w wersji 6 to możemy utworzyć dodatkowe profile. Dwa na aktualnego użytkownika i dwa dla wszystkich użytkowników.
# | Typ profilu | Command | Host | Nazwa pliku profilu | Lokalizacja pliku | Profile. File Location |
---|---|---|---|---|---|---|
1 | CurrentUserCurrentHost | $profile | Console | Microsoft.PowerShell_profile.ps1 | $HOME DocumentsPowerShell | |
2 | CurrentUserAllHosts | $profile.CurrentUserAllHosts | profile.ps1 | $HOME Dokumenty | ||
3 | AllUsersCurrentHost | $profile.AllUsersCurrentHost | Console | Microsoft.PowerShell_profile.ps1 | $PSHOME | |
4 | AllUsersAllHosts | $profile.AllUsersAllHosts | profile.ps1 | $PSHOME |
Tabela 2 – PowerShell v6 Typy profili, polecenia, hosty, nazwy plików, lokalizacje plików
Zwykle wartością dla $HOME jest C:
Zwykle, wartość dla $PSHOME to C:\Program Files\PowerShell\6
UWAGA: Różnica między nazwami folderów w folderze Documents PowerShell v6 to PowerShell, a nazwa folderu wcześniejszych wersji PowerShell to WindowsPowerShell.
Jak utworzyć profil PowerShell krok po kroku
Tutaj pokażę ci dokładnie, jak utworzyć profil PowerShell.
Tworzenie profilu PowerShell dla bieżącego użytkownika i bieżącego hosta
To jest domyślny profil Windows PowerShell.
Przeprowadź następujące kroki, aby utworzyć profil PowerShell dla konsoli jako hosta i bieżącego użytkownika:
Krok 1: Otwórz konsolę Windows PowerShell (bieżący host).
Krok 2: Najpierw sprawdzimy, czy profil istnieje, czy nie w naszej instalacji PowerShell. W konsoli Window PowerShell Console wpisujemy następujące polecenie i naciskamy ENTER.
Test-Path $PROFILE
PAMIĘTAJ: Wartość parametru dla Test-Path CmdPodajemy z tabeli 2 – kolumna Command. ($profile, $profile.CurrentUserAllHosts, etc)
Krok 3: Jeśli wynik poprzedniego polecenia jest fałszywy, profil nie istnieje, więc przejdź do kroku 4. Jeśli wynik jest prawdziwy, plik profilu istnieje, więc przejdź do kroku 5
Krok 4: Ponieważ profil nie istnieje, utworzymy go za pomocą następującej komendy, którą wpiszemy i naciśniemy ENTER.
New-Item -Type File -Force $PROFILE
Krok 5: Profil został utworzony i możemy otworzyć plik profilu w PowerShell ISE następującą komendą i naciskamy ENTER.
ise $PROFILE
Krok 6: Pusty plik Profile został otwarty w Windows PowerShell ISE
Krok 7: Kontynuuj do Przykładu 1, aby zobaczyć, jak dostosować ten profil.
Tworzenie profilu PowerShell dla bieżącego użytkownika i wszystkich hostów
Postępuj zgodnie z poniższymi krokami, aby utworzyć profil PowerShell:
Krok 1: Otwórz konsolę Windows PowerShell (jest to tylko wybrany host do uruchamiania poleceń i możemy wykonać te kroki również z Windows PowerShell ISE).
Krok 2: Najpierw sprawdzimy, czy profil istnieje, czy nie w naszej instalacji PowerShell. Wpisz poniższe polecenie w konsoli Windows PowerShell i naciśnij ENTER.
Test-Path $PROFILE.CurrentUserAllHosts
PAMIĘTAJ: Wartość parametru dla Test-Path CmdPozwól nam uzyskać z tabeli 2 – kolumna Command. ($profile, $profile.CurrentUserAllHosts, etc)
Krok 3: Jeśli wynik poprzedniego polecenia jest fałszywy, profil nie istnieje, więc przejdź do kroku 4. Jeśli wynik jest prawdziwy, plik profilu istnieje, więc przejdź do kroku 5
Krok 4: Ponieważ profil nie istnieje, utworzymy go za pomocą następującej komendy, którą wpiszemy i naciśniemy ENTER.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Krok 5: Profil został utworzony i możemy otworzyć plik profilu w PowerShell ISE za pomocą następującego polecenia i nacisnąć ENTER.
ise $PROFILE.CurrentUserAllHosts
Krok 6: Pusty plik profilu został otwarty w Windows PowerShell ISE
Krok 7: Kontynuuj do Przykładu 2, aby zobaczyć, jak dostosować profil.
Powtarzamy proces dla innych typów profili jedyną rzeczą jest użycie odpowiedniej wartości zmiennej w kolumnie Command z tabeli 1 – Typy profili PowerShell, komendy, hosty, nazwy plików, lokalizacje plików.
- $profile.AllUsersCurrentHost
- $profile.AllUsersAllHosts
PAMIĘTAJ: Jeśli chcesz utworzyć profil dla Windows PowerShell ISE jako hosta, musisz otworzyć Windows PowerShell ISE i wykonać kroki uruchamiając polecenia z konsoli Windows PowerShell ISE (spójrz na zrzut ekranu poniżej)
Jak edytować profil Windows PowerShell z przykładami
Przykład 1 – Profil dla konsoli jako hosta i bieżącego użytkownika (bieżący użytkownik – bieżący host)
Nazwa profilu: Microsoft.PowerShell_profile.ps1
Profile Location: $HomeDocumentsWindowsPowerShell
Used for: W tym przykładzie zmieniłem kolory tła czcionek, aby były bardziej czytelne.
Tutaj znajduje się kod w pliku profilu Microsoft.PowerShell_profile.ps1. Wystarczy skopiować kod do pliku profilu i zapisać zmiany, aby mieć ten sam schemat kolorów lub dostosować go do własnych potrzeb.
Set-PSReadLineOption -colors @{ Operator = 'Cyan' Parameter = 'Cyan' String = 'White'}
Na niektórych starszych systemach ustawienie Set-PSReadLineOption CmdLet było trochę inne, jak w poniższym przykładzie.
Set-PSReadlineOption -TokenKind String -ForegroundColor MagentaSet-PSReadlineOption -TokenKind Operator -ForegroundColor CyanSet-PSReadlineOption -TokenKind Parameter -ForegroundColor Cyan
Kolory czcionek zostały zmienione z tego…
… na to.
Użyj Get-PSReadLineOption CmdLet aby zobaczyć ważne argumenty kolorów i bieżące wartości argumentów (kolory).
Przykład 2 – Profil zarówno dla konsoli Windows PowerShell, jak i ISE jako hostów (Bieżący użytkownik – wszystkie hosty)
Nazwa profilu: profile.ps1
Lokalizacja profilu: $HomeDocumentsWindowsPowerShell
Użyteczne dla: Gdy chcesz dostosować zarówno konsolę Windows PowerShell, jak i ISE jednocześnie lub uruchomić własne funkcje zaawansowane lub zestawy CmdLets zarówno w konsoli PowerShell, jak i ISE.
W tym przykładzie ładuję własne moduły PowerShell dla niektórych zestawów CmdLets, które napisałem, a które są częścią projektu Efficiency Booster PowerShell. Ten projekt jest biblioteką moich własnych CmdLets zorganizowanych w kilku modułach i bardzo polecam pobranie pliku zip z plikami projektu i przetestowanie we własnym środowisku i możliwość śledzenia mnie w artykułach na tym blogu.
Tutaj są polecenia do importowania modułów i zawartości pliku profilu.
Import-Module 02utilsImport-Module 03commonImport-Module 04maintenance
Możemy szybko sprawdzić, czy zaimportowane moduły są rzeczywiście załadowane, gdy otworzymy konsolę PowerShell za pomocą następującego polecenia:
Get-Module -ListAvailable
Aby lepiej zrozumieć powiązania profili PowerShell, modułów i CmdLetów przeczytaj następujące podtytuły tego postu How To Organize Your Own PowerShell CmdLets in PowerShell Modules And Which Profile To Use To Organize That Structure oraz How We Link Together PowerShell Profile, Module, And CmdLet.
Przykład 3 – Profil dla ISE jako Host (Current User – Current Host)
Profile Name: Microsoft.PowerShellISE_profile.ps1
Lokalizacja profilu: $HomeDocumentsWindowsPowerShell
Użyte do: W tym przykładzie zaimportowałem moduł przechowujący CmdLety, które będą Dodatkami dla Window PowerShell ISE.
Tutaj znajduje się polecenie, które należy skopiować w pliku profilu.
Import-Module 09addons
W efekcie będziemy mieli dwa Dodatki w Windows PowerShell ISE. Proszę przeczytać te dwa artykuły, aby dowiedzieć się więcej o tym, jak je zakodować.
- How To Write Advanced Functions Or CmdLet’s With PowerShell (Fast)
- How To Write PowerShell Function’s Or CmdLet’s Help (Fast)
Możemy szybko sprawdzić, czy zaimportowane moduły są rzeczywiście załadowane, gdy otworzymy konsolę PowerShell za pomocą następującego polecenia:
Get-Module -ListAvailable
UWAGA: Windows PowerShell ISE importuje cztery modele z dwóch plików profili ( profile.ps1 i Microsoft.PowerShellISE_profile.ps1 ).
Przykład 4 – Profile For Both Windows PowerShell Console And ISE As Hosts (All Users – All Hosts)
Nazwa profilu: profile.ps1
Lokalizacja profilu: $PSHOME
Użyte do: W tym przykładzie zmieniłem tylko tytuł Window PowerShell Console i ISE zarówno dla Current User, jak i Administrator.
Tutaj jest kod w pliku Profile:
$NTIdentity = ::GetCurrent()$NTPrincipal = new-object Security.Principal.WindowsPrincipal $NTIdentity$IsAdmin = $NTPrincipal.IsInRole(::Administrator)$hostversion="v$($Host.Version.Major).$($Host.Version.Minor)"$hostname = $host.NameIF ($IsAdmin){ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion - Running as ADMINISTRATOR" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion - Running as ADMINISTRATOR" }}Else{ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion" }}
Widzisz, że zarówno tytuły PowerShell Console, jak i ISE mają niestandardowy tekst, nazwę hosta i wersję PowerShell w tytule.
Przydatne polecenia PowerShell, które należy znać w odniesieniu do profili
Oto kilka przydatnych poleceń PowerShell, które pomogą uzyskać informacje o profilach.
W wyniku uruchomienia któregokolwiek z poleceń profilu, otrzymasz lokalizację pliku profilu.
$profile$profile.AllUsersCurrentHost$profile.CurrentUserAllHosts$profile.AllUsersAllHosts
IMPORTANT: Jeśli chcesz znaleźć lokalizację pliku profilu dla Windows PowerShell ISE jako hosta, musisz otworzyć Windows PowerShell ISE i uruchomić polecenia profilu z konsoli Windows PowerShell ISE
Użyj Test-Path CmdLet, aby sprawdzić, czy plik profilu istnieje w systemie, czy nie. Jeśli otrzymasz True jako wynik profil istnieje i false oznacza, że plik profilu nie istnieje. Użyj poleceń z Tabeli 1 – Typy profili PowerShell, polecenia, hosty, nazwy plików, lokalizacje plików, aby sprawdzić, czy istnieją inne typy profili.
Test-Path $PROFILE
Ta linia kodu utworzy plik profilu. Użyj poleceń z Tabeli 1 – Typy profili PowerShell, polecenia, hosty, nazwy plików, lokalizacje plików, aby utworzyć inne typy profili.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Jeśli chcesz odczytać zawartość pliku profilu w Notatniku lub Window PowerShell ISE, użyj tych dwóch poleceń.
ise $PROFILEnotepad $PROFILE
Personalnie wolę Windows PowerShell ISE, ponieważ jest to wygodniejsze środowisko do pisania kodu PowerShell.
Użyj tej linii kodu, aby uzyskać lokalizacje profili dla wszystkich typów profili.
$profile | Get-Member -Type NoteProperty | Select-Object Definition
Sprawdź te dwie zmienne, aby uzyskać lokalizację odpowiednio instalacji PowerShell i katalogu domowego.
$pshome$home
Jak wybrać, którego pliku profilu użyć
Jeśli używasz aplikacji wielu hostów, takich jak Windows PowerShell Console i ISE, umieść wszystkie dostosowania w profilu $PROFILE.CurrentUserAllHosts dla aktualnie zalogowanego użytkownika. Na przykład, stworzyłem moje własne CmdLets zorganizowane w Moduły, więc umieściłem komendy do załadowania tych modułów w tym profilu, ponieważ chcę, aby moduły były ładowane zarówno kiedy otwieramy PowerShell Console i ISE. Spójrz Przykład 2 dla ilustracji.
Jeśli chcesz zrobić specyficzne dostosowywanie do aplikacji hosta umieścić cały kod dostosowywania w profilu specyficznym dla tej aplikacji hosta. Na przykład, zmieniam kolor tła czcionek konsoli PowerShell, aby były bardziej widoczne lub załadowałem moduły, które są dodatkami dla ISE. Pokazałem to w przykładzie 1 dla PowerShell Console i przykładzie 3 dla PowerShell ISE.
Jeśli potrzebujesz dostosować PowerShell dla wielu użytkowników i jesteś administratorem, postępuj zgodnie z tymi wskazówkami:
- Zapisz najbardziej powszechne dostosowanie w $PROFILE.AllUsersAllHosts profil ponieważ jest to najszerszy zakres
- Jeśli chcesz dostosować Windows PowerShell dla wszystkich użytkowników, ale specyficzne dla aplikacji hosta. Na przykład, inne dostosowanie dla Windows PowerShell Console i inne dostosowanie dla Windows PowerShell ISE wtedy umieścić kod w profilu $PROFILE.AllUsersCurrentHost
- Pisz kod dla poszczególnych użytkowników w profilach specyficznych dla użytkownika. Zasadniczo oznacza to użycie profilu $PROFILE.CurrentUserAllHosts lub $PROFILE.CurrentUserCurrentHost.
How To Run Console Or ISE Without Profiles Loaded
Otwórz okno dialogowe run Win + R i otwórz PowerShell z opcją -NoProfile.
PowerShell.exe -NoProfile
Warning: PowerShell Load Time
Wraz z większym i bardziej złożonym profilem, może zacząć mieć wpływ na to, jak szybko otwiera się PowerShell. Aby rozwiązać problem, czy profil jest odpowiedzialny za słabe czasy ładowania PowerShell, otwórz okno dialogowe run Win + R i otwórz PowerShell z opcją -NoProfile.
PowerShell.exe -NoProfile
Profile i sesje zdalne
Profile PowerShell nie są uruchamiane automatycznie w sesjach zdalnych, więc polecenia, które profile dodają, nie są obecne w sesji zdalnej. Ponadto zmienna automatyczna $PROFILE nie jest uzupełniana w sesjach zdalnych.
Aby uruchomić profil w sesji, należy użyć polecenia Invoke-Command CmdLet.
Na przykład poniższe polecenie uruchamia profil „Bieżący użytkownik, Bieżący host” z komputera lokalnego w sesji w $s.
Invoke-Command -Session $s -FilePath $PROFILE
Jak zorganizować własne CmdLety PowerShell w Modułach i Profilach PowerShell
Abyś zrozumiał związek między Profilem PowerShell, Modułem i CmdLetem stworzyłem Projekt Efficiency Booster PowerShell z wieloma moimi własnymi CmdLetami zorganizowanymi w kilka Modułów, które są ładowane w każdej Sesji PowerShell z profilem PowerShell za każdym razem, gdy otwieram Konsolę Windows PowerShell lub ISE.
Zapraszam do pobrania pliku zip, który zawiera kod projektu, abyś mógł łatwo podążać za nim. W pliku ReadMe.txt znajduje się wyjaśnienie kroków instalacji i dostosowywania, więc proszę przeczytać instrukcje w tym pliku. Jeszcze lepiej można zapoznać się z instrukcjami instalacji i dostosowywania, czytając następujący artykuł How To Install And Configure PowerShell: CmdLets, Modules, Profiles.
Użyję analogii księgarni, półki z książkami, aby wyjaśnić związek pomiędzy Powershell Profile, Module i CmdLet.
Na przykład, wyobraź sobie, że chcesz dowiedzieć się więcej o PowerShell Scripting i chcesz kupić kilka książek na ten temat w księgarni.
Wchodzisz do księgarni i widzisz wiele półek z różnymi etykietami dla działów książek, takich jak sztuka, biznes, komputery, literatura, podróże itp. Oczywiście, idziesz do półki oznaczonej Komputery i tam znajdujesz książkę, która wyjaśnia PowerShell Scripting, którą chcesz kupić.
Powróćmy teraz do świata PowerShell i połączmy historię analogii z PowerShell:
- CmdLet, którego używamy dostarczony z PowerShell lub jakiś nasz własny napisany CmdLet jest książką.
- Kod tego CmdLet jest treścią książki.
- Moduł PowerShell to półka księgarni w jakimś dziale księgarni, jak na przykład półka działu Komputery, na której znajduje się nasza książka.
- Wreszcie, profil PowerShell to sama księgarnia.
Więc za każdym razem gdy otwieramy Windows PowerShell Console lub ISE otwieramy naszą sesję i z tą sesją pliki profili do załadowania i dostosowania zostały zrobione aby skonfigurować nasze środowisko PowerShell tak jak chcemy.
W przypadku Modułów i CmdLets. Plik profilu zaimportuje moduły, a moduł załaduje każdy skrypt CmdLet, który należy do tego modułu.
Ponieważ lubię używać własnych CmdLetów zarówno w konsoli Windows PowerShell, jak i w aplikacjach hosta ISE, wolę utworzyć $profile.CurrentUserAllHosts, który jest niczym innym jak plikiem Profile.ps1 utworzonym w:
- folderze $Home Documents WindowsPowerShell dla PowerShell w wersji 5.1 i starszych
- folderze $Home Documents WindowsPowerShell dla PowerShell w wersji 6.0.
How We Link Together PowerShell Profile, Module, And CmdLet
Tutaj znajduje się krótki opis tej struktury wykonany w PowerShell
- Utwórz profil PowerShell
- Utwórz folder Module i strukturę plików
- Dostosuj profil, aby zaimportować potrzebne moduły
- Twórz skrypt CmdLet PowerShell
- Napisz własny kod funkcji CmdLet
- Dostosuj plik modułu, aby zaimportować skrypt CmdLet
Zilustruję ten proces przykładami Efficiency Booster PowerShell Project z Profile, Moduły i CmdLety, aby każdy mógł łatwiej zrozumieć cały proces. Więc jeszcze raz gorąco zachęcam wszystkich do zainstalowania dostarczonego pliku zip.
Postępuj zgodnie z poniższymi krokami, aby utworzyć Profil PowerShell, Moduł, CmdLet i połączyć je razem:
Krok 1: Otwórz konsolę Windows PowerShell
Krok 2: Po pierwsze, sprawdzimy czy Profil istnieje czy nie w naszej instalacji PowerShell. Wpisz następujące polecenie w Windows PowerShell, i naciśnij ENTER
Test-Path $PROFILE.CurrentUserAllHosts
Krok 3: Jeśli wynik poprzedniego polecenia jest fałszywy, profil nie istnieje, więc przejdź do kroku 4. Jeśli wynik jest prawdziwy, plik profilu istnieje, więc przejdź do kroku 5
Krok 4: Ponieważ profil nie istnieje utworzymy go za pomocą następującego polecenia, które wpiszemy i naciśniemy ENTER.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Krok 5: Profil został utworzony i możemy otworzyć plik profilu w PowerShell ISE za pomocą następującego polecenia i naciśniemy ENTER.
ise $PROFILE.CurrentUserAllHosts
Krok 6: Plik profilu został otwarty w PowerShell ISE.
Krok 7: Teraz musimy utworzyć strukturę folderów Modułów i niezbędne pliki.
Krok 8: W folderze, w którym utworzyliśmy nasz plik profilu, utwórz folder Modułów z dokładną nazwą Moduły. Tutaj będziemy trzymać strukturę folderów wszystkich naszych Modułów.
Krok 9: W folderze Modułów utwórz foldery dla każdego Modułu, który chcesz mieć. Na przykład, utworzyłem następujące moduły w Efficiency Booster PowerShell Project.
Krok 10: W każdym folderze Module tworzymy plik z rozszerzeniem .psm1 i o dokładnie takiej samej nazwie jak folder Module. Na przykład, w folderze 03common tworzymy plik 03common.psm1
Krok 11: Opcjonalnie możemy utworzyć plik manifestu (rozszerzenie.psd1) dla każdego modułu, który będzie dalej opisywał dany folder.
Krok 12: W tym samym folderze modułu, tworzymy plik z rozszerzeniem .ps1 (Regular PowerShell script file), w którym będziemy pisać kod dla naszego własnego CmdLet. Na przykład, możemy utworzyć plik GetCPUInfo.ps1, w którym napiszemy kod dla naszego własnego CmdLet Get-CPUInfo.
Krok 13: Teraz jesteśmy gotowi do napisania naszego własnego kodu CmdLet i oskryptowania go. Zapraszam do zapoznania się z przykładem Get-CPUInfo i innymi CmdLetami projektu Efficiency Booster PowerShell. W kolejnych postach napiszę więcej szczegółów na temat każdego CmdLeta w projekcie. Na razie pobierz kod źródłowy projektu tutaj.
Krok 14: Połącz skrypt CmdLet z właściwym modułem PowerShell. Otwórz plik .psm1 modułu i napisz następującą linię kodu:
. $psScriptRoot\NameOfCmdLetScriptFile.ps1
Na przykład, dla Get-CPUInfo CmdLet piszemy tę linię kodu w pliku 03common.psm1 file:
. $psScriptRoot\GetCPUInfo.ps1
Krok 15: W pliku skryptu Profile importujemy Moduł, który zawiera nasz plik skryptu CmdLet, więc w pliku profilu wpisujemy to polecenie.
Import-Module ModuleName
Na przykład, nasz Get-CPUInfo CmdLet jest częścią modułu 03common, więc piszemy ten kod w profilu:
Import-Module 03common
Krok 16: Powtarzamy kroki 9 -15 dla każdego Modułu i CmdLet, które chcemy mieć w naszym profilu i być ładowane z każdą sesją PowerShell, którą uruchamiamy.
Krok 17: Testujemy, czy wszystkie zaimportowane moduły są ładowane, gdy otwieramy określonego hosta. Możemy wylistować moduły używając następującego polecenia:
Get-Module -ListAvailable
Krok 18: Możemy przetestować, czy wszystkie CmdLety w ramach każdego modułu zostały załadowane do środowiska. Oto użyteczne przykładowe polecenie:
Get-Command -Module 02utils
Przydatne artykuły o profilach PowerShell
.