Cmdlet New-PSDrive to potężne, ale często niedoceniane narzędzie w PowerShellu.
Pozwala tworzyć tymczasowe lub trwałe mapowania do różnych lokalizacji – takich jak dyski, udziały sieciowe, klucze rejestru, a nawet przestrzenie danych (np. certyfikaty czy zmienne środowiskowe).
Dzięki New-PSDrive możesz uzyskać szybki dostęp do danych, niezależnie od tego, gdzie się znajdują — lokalnie, w sieci czy w strukturze systemowej PowerShella.
|
1 2 3 |
New-PSDrive [-Name] <String> [-PSProvider] <String> [-Root] <String> [-Credential <PSCredential>] [-Description <String>] [-Persist] [-Scope <String>] [-WhatIf] [-Confirm] [<CommonParameters>] |
Kluczowe parametry
| Parametr | Opis |
|---|---|
-Name | Nazwa nowego „dysku” logicznego (np. X, Data, RegEdit). |
-PSProvider | Określa typ dostawcy PowerShell (np. FileSystem, Registry, Environment, Variable, Certificate). |
-Root | Ścieżka główna, do której dysk ma zostać przypisany. |
-Credential | Uwierzytelnienie do zasobu zdalnego. |
-Persist | Używany tylko z FileSystem — tworzy trwałe mapowanie dysku sieciowego widoczne również w Eksploratorze Windows. |
-Scope | Zakres istnienia napędu (Global, Local, Script). |
-Description | (PowerShell 7+) Opis dysku. |
-WhatIf / -Confirm | Parametry bezpieczeństwa — pokazują, co się stanie przed wykonaniem. |
Zrozumienie pojęcia „PSProvider”
PowerShell działa w oparciu o tzw. dostawców danych (Providers).
Każdy provider udostępnia określony typ danych jako strukturę podobną do systemu plików.
Przykłady providerów:
| Provider | Opis | Przykładowy Root |
|---|---|---|
FileSystem | Pliki i foldery | C:\, \\Server\Share |
Registry | Rejestr systemu Windows | HKLM:\, HKCU:\ |
Environment | Zmienne środowiskowe | brak root |
Variable | Zmienne PowerShell | brak root |
Certificate | Magazyn certyfikatów | Cert:\ |
Function | Funkcje PowerShell | Function:\ |
Przykłady
Tymczasowe mapowanie udziału sieciowego
|
1 |
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\SERVER01\Dane" |
Dysk Z: pojawi się tylko w bieżącej sesji PowerShell. Po zamknięciu konsoli zostanie automatycznie usunięty.
Trwałe mapowanie dysku sieciowego
|
1 |
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\SERVER01\Dane" -Persist |
- Tworzy dysk widoczny również w Eksploratorze Windows.
- Parametr
-Persistwymaga uruchomienia PowerShella z uprawnieniami użytkownika (nie administratora, jeśli mapowanie ma być widoczne w sesji użytkownika).
Mapowanie udziału sieciowego z uwierzytelnieniem
|
1 2 |
$creds = Get-Credential New-PSDrive -Name "S" -PSProvider FileSystem -Root "\\FileSrv01\Share" -Credential $creds -Persist |
Po podaniu poświadczeń PowerShell zapisze mapowanie dla tej sesji użytkownika.
Mapowanie klucza rejestru
|
1 |
New-PSDrive -Name "MyReg" -PSProvider Registry -Root "HKLM:\SOFTWARE\Microsoft" |
Teraz możesz przeglądać ten obszar rejestru jak folder:
|
1 2 |
Set-Location MyReg: Get-ChildItem |
Odwołanie do zmiennych środowiskowych jak do plików
|
1 2 |
New-PSDrive -Name "EnvDrive" -PSProvider Environment -Root "" Get-ChildItem EnvDrive: |
Wypisze wszystkie zmienne środowiskowe w formie „folderów”.
Tworzenie skrótu do długiej ścieżki
Jeśli często pracujesz w określonym folderze:
|
1 2 |
New-PSDrive -Name "Logs" -PSProvider FileSystem -Root "C:\ProgramData\Company\Logs" Set-Location Logs: |
Zamiast wpisywać pełną ścieżkę, wystarczy:
|
1 |
cd Logs: |
Usuwanie PSDrive
Aby usunąć napęd stworzony przez PowerShell:
|
1 |
Remove-PSDrive -Name "Z" |
Tips
New-PSDrivenie zmienia mapowania w Eksploratorze Windows, jeśli nie użyjesz-Persist.- W przypadku pracy w skryptach logowania, najlepiej dodać:
|
1 2 3 |
if (-not (Get-PSDrive -Name "Z" -ErrorAction SilentlyContinue)) { New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\Server\Share" -Persist } |
Dzięki temu skrypt nie zgłosi błędu, jeśli dysk już istnieje.
- Dyski stworzone bez
-Persistsą tymczasowe i znikają po zakończeniu sesji PowerShell. - Działa także w PowerShell Core (6/7) na Windows, Linux i macOS – choć provider
RegistryiCertificatesą dostępne tylko w Windows.
Sprawdzenie istniejących PSDrive
Aby zobaczyć wszystkie dostępne napędy PowerShell:
|
1 |
Get-PSDrive |
Przykładowy wynik:

Ciekawostka
PowerShell nie ogranicza się tylko do fizycznych dysków.
Każdy provider udostępnia logiczne przestrzenie nazw — dlatego możesz nawigować po rejestrze, zmiennych czy funkcjach jak po folderach!
|
1 2 |
Set-Location Env: Get-ChildItem |
Podsumowanie
Cmdlet New-PSDrive to uniwersalne narzędzie, które pozwala:
- mapować udziały sieciowe (tymczasowo lub trwale),
- tworzyć skróty do długich ścieżek,
- eksplorować rejestr, zmienne i certyfikaty jak foldery,
- automatyzować dostęp do zasobów w skryptach administracyjnych.
To jedno z tych narzędzi, które — raz poznane — znacznie przyspiesza codzienną pracę administratora PowerShell.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).