Mapowanie dysku sieciowego w CMD i Powershell
Dzisiaj 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.
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:
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
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.
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).
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
A tak wogóle to artykulik powstał na specjalne życzenie Damiana ze stolika nr 14. Pisanie na zawołanie trwa 🙂
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
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”. 😉
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?
Witam Was!
Podpowiedzcie proszę, w jaki sposób mogę sprawdzić litery zmapowanych dysków sieciowych na komputerach w sieci? Jest w ogóle taka możliwość z cmd? W necie trafiłem na jakieś sposoby, ale w powershellu.
PS Komputery są w domenie.
Bo w Powershellu można to zrobić najwygodniej. Skąd ta niechęć do Powershella?
W CMD możesz spróbować wmic /node: „(nazwa komputera)” netuse list