Mapowanie dysku sieciowego w CMD i Powershell


 

ps_cmd_miniaturaDzisiaj temat bardzo prosty, ale jednocześnie taki, którego nie wolno pominąć na Blogu, w którym pisze się o CMD i Powershellu :). Chodzi oczywiście o mapowanie dysków sieciowych, czyli przypisanie udziałowi sieciowemu litery dysku, aby w wygodny sposób na owy udział wchodzić „po literce” – na przykład z poziomu konsoli CMD, Powershell czy z okna Mój Komputer.

mapped drives

Chociaż łączenie się z udziałami sieciowymi poprzez podawanie pełnych ścieżek (\\serwer\udział, serwer\udzial$, \\serwer\c$ czy \\adres_IP\udzial ) nie jest jakość bardzo uciążliwe dla SPECA IT, to zapewniam Was, że gdy tylko zwykli użytkownicy zaczną korzystać z udziałów sieciowych, pierwsza rzecz jaką zrobicie, to wdrożycie jakiś sposób na automatyczne mapowanie – w innym przypadku zaleje Was lawina skarg i pytań:). Owym rozwiązaniem może być opisywany przeze mnie jakiś czas temu skrypt logowania (pod tym linkiem znajdziecie metodę wdrożenia skryptu logowania przez Group Policy (Zasady Grup), a tutaj przez profil użytkownika w Active Directory).

Wracając jednak do wątku głównego podam Wam kilka praktycznych komend, które można użyć w konsoli CMD/Powershell lub wspomnianym skrypcie logowania, aby okiełznać przypisywanie litery dysku do udziału sieciowego.

Mapowanie dysku sieciowego w Wierszu Poleceń

Pierwszym, podstawowym poleceniem, jakie musi znać każdy administrator Windows, to oczywiście NET USE. Polecenie to zwróci nam listę wszystkich mapowań jakie mamy na swoim komputerze. Oto przykład:

C:\Users\ADMINI~1>net use
New connections will not be remembered.

Status Local Remote Network

——————————————————————————-
OK F: \\SRVFILEV01\homedirs$\username Microsoft Windows Network
OK K: \\SRV02\install Microsoft Windows Network
OK L: \\SRVAPP09\common$ Microsoft Windows Network
OK M: \\SRVPUBV11\processes$ Microsoft Windows Network
OK O: \\SRVPUBV05\install Microsoft Windows Network
OK P: \\SRVAPP10\applications Microsoft Windows Network
OK R: \\SRVFILEV04\General$ Microsoft Windows Network
OK V: \\SRVFILE02\applications Microsoft Windows Network
OK W: \\SRVSQLV01\Users Microsoft Windows Network
OK X: \\SRVSQLV01\shared Microsoft Windows Network
The command completed successfully.

Stworzenie nowego udziału możemy wykonać poleceniem:

net use X: \\serwer\udzial

Opcjonalnie, możemy podać użytkownika i hasło:

net use X: \\serwer\udzial s /user spec H@$l0

Udziały mapowane powyższymi sposobami są nietrwałe, czyli po restarcie komputera znikną. Możemy oczywiście stworzyć trwałe mapowanie dzięki fladze /p:

net use X: \\serwer\udzial /P:Yes

Kasowanie mapowanego dysku możemy wykonać poleceniem:

net use X: /Delete

Być może ucieszy Was możliwość usunięcia wszystkich pod-mapowanych dysków jednym poleceniem:

net use * /Delete

Mapowanie dysku sieciowego w Powersell

W powershellu, mapowanie udziałów jest również bardzo proste, choć CmdLet „New-PSDrive” ma ogromne możliwości i zasługuje na osobny artykuł. Dzisiaj podaję najprostsze mapowanie udziału:

New-PSDrive –Name “Z” –PSProvider FileSystem –Root “\\serwer\udzial” –Persist

„Z” to oczywiście litera dysku. Flaga „-Persist” odpowiada za mapowanie trwałe.

Listę wszystkich dysków lokalnych oraz mapowanych możemy podejrzeć poleceniem:

get-psdrive -psprovider filesystem

Efekt będzie podobny do tego:
get-psdrive-provider filesystem

Gdyby interesowało Was jak się tworzy udział (udostępnia jakiś katalog w sieci), zachęcam do odświeżenia sobie mojego wcześniejszego artykułu o Udziałach Sieciowych w CMD.


Podobne Tematy:

  • Kamil

    Mam pytanie. Jakby wyglądało polecenie mapowania dysku np. P: ale aby z automatu pobrało login i hasło z konta na którym jesteśmy aktualnie zalogowani (konto AD).

    • Łukasz Skalikow

      Mapowanie bez poświadczeń odbywa się na koncie, które uruchamia komendę. Poświadczenia są opcjonalne. Gdy ich nie podamy i mamy dostęp do mapowanego udziału, mapowanie wykona się bez prośby o hasło :)

      net use P: \serwerudzial

  • Łukasz Skalikow

    A tak wogóle to artykulik powstał na specjalne życzenie Damiana ze stolika nr 14. Pisanie na zawołanie trwa :)

  • Mirek

    Spoko, bo się zakochałem w pisaniu komend, natomiast lipa, bo udział się pojawił dopiero po restarcie lapka…ale i tak jestem happy, dzięki

  • helloworld

    Panie autorze, proszę nauczyć się określeń. Jeśli nauczył się Pan używać określeń montowanie, podmontować to również proszę na stałe zapisać sobie w swoim słowniku określenie odmontowanie. Proszę zauważyć że określenie skasować znaczy co innego.

    • Może i tak, tylko Łukasz nie chciał poprawiać Microsoftu, wg nich udział sieciowy odłączamy opcją „delete” nie „unmount”. ;)

  • kil

    Przepraszam, że odkopuję ale mam pytanko.
    Stworzyłem sobie bat’a, którym mapuję dysk sieciowy.
    O ile w cmd komenda działa bez zarzutu, o tyle wykonując bat’a dostaję monit o błędnym loginie/haśle (bład 1326). Co może być tego przyczyną?
    @net use z: \adresipserweraSerwer /USER:serwer *****

    • Hej pewnie to pytanie jest już dawno nieaktualne, ale zgaduję, że chodziło o różnicę czasu na serwerze i maszynie z któej uruchamiałeś skrypt?