How-To Mapowanie udziałów sieciowych w Windows Vista i nowszym

Silas Mariusz

rm -rf /
Help us, GOD!
Apr 5, 2008
10,355
34
2,800
153
40
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE
Zapewne wielu z Was spotkało się z problemem mapowania katalogow pod Vista i XP SP3, komunikatami błednej autoryzacji itp.

Jest na to kilka sposobów zapewniających 100% podłączenie udziałów sieciowych do systemu.

1] W serwerze NAS utworzyć użytkownika o takiej samej nazwie co użytkownik systemu Windows, który będzie podłączony do zasobów sieciowych używając identycznego hasła dla konta. Dla użytkowników usługi Windows 8 Live, należy stworzyć użytkownika o nazwie adresu email konta Live.
Znane problemy: Użytkownik ten pomimo praw administratora nie będzie mógł usuwać plików które należą do innego administratora lub administratora głównego.

2] Kolejna metoda umożliwia podłączenie zasobu sieciowego przy użyciu dowolnej nazwy użytkownika.
Otworz notatnik i przeklej poniższy kod.
Code:
net use z: \\10.100.200.10\Qdownload tutajHaslo /PERSISTENT:YES /user:admin
Odpowiednio zmodyfikuj jego zawartość! Adres IP '10.100.200.10' zamień na własny serwera lub jego domenę, 'Qdownload' na docelowy udział sieciowy, 'tutajHaslo' na hasło użytkownika oraz 'admin' na nazwę użytkownika mapowanego udziału. Plik zapisz i nazwij dla przykładu MapDrives.bat
Plik skopiuj i wklej jako skrót do Start > Autostart.

3] Skuteczny skrypt VB mapujący dyski sieciowe.
Otwórz notatnik i wklej poniższy kod.
Code:
Option Explicit
Dim objNetwork
Dim strServer, strUser, strPwd
Dim strRemotePath()
Dim strDriveLetter()

Const iMapTotal = 5      ' Ile udzialow do mapowania
Redim strRemotePath(iMapTotal)
Redim strDriveLetter(iMapTotal)

Set objNetwork = CreateObject("WScript.Network")

' Set Server, Username and Password
strServer = "NAS"      ' Wprowadz nazwe swojego NASa w sieci
strUser = "admin"  ' Wprowadz login na ktory ma sie zalogowac
strPwd = "haslo1234"     ' Wprowadz haslo dla uzytkownika podanego wyzej

' Define Drive Letters and Remote Path
strDriveLetter(0) = "Z:"
strDriveLetter(1) = "Y:"
strDriveLetter(2) = "X:"
strDriveLetter(3) = "W:"
strDriveLetter(4) = "V:"
strRemotePath(0) = "\\" & strServer & "\Public"
strRemotePath(1) = "\\" & strServer & "\Qmultimedia"
strRemotePath(2) = "\\" & strServer & "\Qdownload"
strRemotePath(3) = "\\" & strServer & "\Qusb"
strRemotePath(4) = "\\" & strServer & "\Qweb"

' Sprawdz czy jest polaczenie z siecia, jesli nie ma, zapetl probe zamapowania udzialow.
' (Ten skrypt pozwoli poczekac az zostanie nawiazane polaczenie z siecia przewodowa lub bezprzewodowa i az uruchomi sie usluga Windows Firewall)
Dim objPing, objRetStatus
Dim Ping

Ping = False
Do while Ping = False
    set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
          ("select * from Win32_PingStatus where address = '" & strServer & "'")

    For Each objRetStatus in objPing
        If IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode <> 0 Then
            Ping = False
        Else
            Ping = True
        End if
    Next
Loop

' Mapuj dyski
Dim iCnt
For icnt = 0 to iMapTotal -1
    objNetwork.MapNetworkDrive strDriveLetter(iCnt), strRemotePath(iCnt),,strUser,strPwd
Next

Wscript.Quit
Odpowiednio zmodyfikuj zawartość według opisów obok, zapisz plik jako MapDrives.vbs a następnie zrób do niego skrót w Start Menu > Autostart.
 
Last edited:
  • Like
Reactions: fan11
hej !


skrypcik dziala .. w sumie :) po restarcie komputera (VISTA) - skrypt umieszony w autostarcie - startuje - i zglasza ze nie moze zmapowac dyskow....; odpalony zaraz potem recznie z menu autostart mapuje juz idelanie i wszystko dziala; jakby nie zaskakiwal fragment o LOOPowaniu az do momentu wykrycia sieci jesli dobrze mysle... czemu ?:) z gory dzieki za sugestie !


l.
 
Używam obydwu tych systemów i nie zwróciłem uwagi, aby był problem z mapowaniem.
Zawsze można przy mapowaniu wybrać opcję „Podłącz używając innej nazwy użytkownika”.

Można ustawić TS-509 jako serwer czasu ??
 
dzisiaj porestartowalem troche - i na 5 restartow raz nie mapuje... nie wiem o co idzie, bo poznije nozwu jest dobrze razy kilka; no nic, problemem nie jest odpalanie skryptu recznie razie czego; pzdr, lorsol;
 
Mapowanie czasami sie wywala w autostracie (przynajmniej u mnie w firmie) z powodu blokady dostępu do sieci przez różnego rodzaju antywirusy i firewalle, które dopiero po odpaleniu samych siebie udostepniają połączenie sieciowe.
Moje rozwiązanie jest banalnie proste, stosowane na serwerach, komputerach automatycznie uruchamiających się i samologujących się po powrocie napięcia lub restarcie lub aktualizacji lub ....
plik start.bat
Code:
chkdsk /F c:
net use u: \\qnap-users\backup /user:backup|haslo_dostepu /PRESISTENT:NO
start "c:\program files\program\uruchom_sie.exe /parametry"

Bardzo mi sie podoba skrypt w Visual Basic.
Mam pytanie czy da się go przerobić tak, by po uruchomieniu go wylogowywał aktualnie zalogowanego użytkownika (w bieżącej sesji) i pytał się o nowego użytkownia i nowe hasło oraz mapował pod te same litelki nowe zasoby z nowymi uprawnieniami ???????????????????????
 
Mnie też przydałby sie dokładnie taki skrypt *.vbs ale chciałbym żeby pytał o nazwę uzytkownika i hasło, opcjonalnie o nazwe serwera.

Pozdrawiam.
 
Witam. Już mi ręce opadają. Na swoim laptopie mam ubuntu i pod NFS hula. Ale syn ma Vistę i przestało montować udziały. Mimo, że użytkownik na komputerze nazywa się tak samo i ma takie samo hasło jak na QNAP-ie. Przy czym udział "Public" mapuje bez problemu. Natomiast każdy inny udział - wyświetla okno z żądaniem nazwy i hasła, a potem wywala:
"określony folder sieciowy jest aktualnie mapowany przy użyciu innej nazwy użytkownika i hasła.
Aby połączyć się przy użyciu innej nazwy użytkownika i hasła, trzeba najpierw odłączyć wszystkie istniejące mapowania na ten udział sieciowy."
Może koledzy mają pomysł? Pozdrawiam, Sławek.
P.S. Swoją drogą, na ubuntu pod NFS jest ok, ale jak chcę spróbować po sambie to też nie montuje. Może to wskazuje na jakiś problem w konfiguracji QNAP-a? Sprawdzałem wszystko kilka razy i wydaje się być OK, ale może macie jakieś pomysły?
 
Hmm.
Odmapuj wszystkie dyski zamapuj jeszcze raz, to raczej wyglada na błedzior windowsa niż qnapa.
 
Odmontuj udzial bez hasla. Zresetuj kompa i zamontuj udzialy zaczynajac od tych wymagajacych hasel.
Lub
Odmontuj wszystkie udzialy i zastosuj skrypt z punktu 3.
 
Miałem podobny problem, rozwiązaniem jest ustawienie opcji persistent na no
czyli np
Code:
net use h: \\192.168.0.1\wspolne /user:marian 123 /persistent:no
i wrzucenie tego do autostartu. Podanie ip zamiast nazwy serwera jest z tego co zauważyłem konieczne.
 
Last edited by a moderator:
Wracam do tematu. Panowie, pisałem, że problem w dostępie po Sambie występuje przy próbie połączenia z różnych maszyn. Zarówno takich z windowsem vistą jak i z linuxem. Ostatnio sprawdziłem, że również przy próbie połączenia z komputera z XP jest to samo. Bardzo proszę zatem, abyście nie pisali o sposobie skonfigurowania czegoś pod Vistą, bo to wyraźnie nie ten problem.
Ostatnio postawiłem system na QNAP-ie od nowa, wgrywając na końcu wcześniej wykonany na starym systemie backup. Oczywiście firmware najnowszy. No i ciągle to samo - brak dostępu po sambie. W firmie mam identycznego QNAP-a i nie ma takiego problemu.
Czy przychodzi Wam do głowy jakieś ustawienie QNAP-a które mogłem pominąć? Czy może coś się posypało w smb.conf? Co istotne - dostęp do folderu Public jest bez problemu.
Pozdrawiam, Sławek.
 
Sambie występuje przy próbie połączenia z różnych maszyn.

Odp na powyzsze, co sam zreszta pisales:
Witam. Już mi ręce opadają. Na swoim laptopie mam ubuntu i pod NFS hula. Ale syn ma Vistę i przestało montować udziały.

Niestety nie pisales... Akurat przyznaje, ze problem ktory opisujesz zwykle objawal sie tym, ze byly zle odmontowane udzialy w Windowsie. Nadal uwazam, ze wina lezy po stronie WIndows'a.
 
Ok, a jeśli chcę się połączyć po sambie z linuxa, i efekt jest ten sam? To znaczy nie pozwala na połączenie, żąda hasła i po jego prawidłowym wpisaniu jest nadal odmowa dostępu? Przy czym do "Public" dostęp jest bez problemu, zresztą tak jak i pod Vistą.
 
ja to zwykle robię tak:

Code:
@echo off
@ping QNAP -n 20
@net use  z:  /d /y
@net use z: \\QNAP\SHARE /user:NAZWAQNAP\QNAP_USER QNAP_PASSWORD

Czasami trzeba rozbudować go linijkę czyszczącą cache DNS.
Wstawić przed pingiem.
Code:
@ipconfig /flushdns
 
  • Like
Reactions: Silas Mariusz
  • ·
  • TVS-hx74
  • ·
  • 2.5 GbE
  • ·
  • Najnowszy możliwy (Hero 5.2.0.2823 aktualne na dzień 25.07.24.)
Witam,

ja mam taki mały skrypt wrzucany do katalogu autostart w Windowsie, o ile mi wiadomo działa i w XP i W7 :

Code:
echo Usuwam poprzednio zamontowane dyski sieciowe x, y.
net use x:  /DELETE
net use y:  /DELETE
echo Mapuje nowe dyski sieciowe x, y.
net use x:  \\192.168.1.13\backup\C\Backup
net use y:  \\192.168.1.13\wspolny\C\Wspolny

To jest mój pierwszy post z wrzucaniem kodu, więc w razie co może trzeba coś będzie poprawić ..

Katalogi i IP przykładowe, należy poprawić na "swoje" :).

Plik skopiować i zapisać jako login.cmd , wrzucamy do autostartu.

Pozdrawiam,

S.
 
3] Skuteczny skrypt VB mapujący dyski sieciowe.
Otwórz notatnik i wklej poniższy kod.
Mam nadzieję, że nie dostanę orderu złotej łopaty ale czy ktoś może powiedzieć jak zmodyfikować ten skrypt tak żeby działał pod Win10? Działał na Win7, a na 10tce wywala błąd
mapdrives.JPG
oczywiście dane są poprawne - skrypt działał przed migracją.
Będę niezmiernie wdzięczny za pomoc.

P.S. tak jest na każdej znanej mi 10tce, nie jest to kwestia konkretnego systemu :/
 
Myslę, że masz problem błędnie podanych lokalizacji. Ten skrypt działa pod Win 10.
FYI tak wygląda mój:
Code:
Option Explicit
Dim objNetwork
Dim strServer, strUser, strPwd
Dim strRemotePath()
Dim strDriveLetter()

Const iMapTotal = 12
Redim strRemotePath(iMapTotal)
Redim strDriveLetter(iMapTotal)

Set objNetwork = CreateObject("WScript.Network")

strServer = "192.168.1.10"
strUser = "admin"
strPwd = "12345678"

strDriveLetter(0) = "Z:"
strDriveLetter(1) = "Y:"
strDriveLetter(2) = "U:"
strDriveLetter(3) = "R:"
strDriveLetter(4) = "Q:"
strDriveLetter(5) = "X:"
strDriveLetter(6) = "S:"
strDriveLetter(7) = "V:"
strDriveLetter(8) = "W:"
strDriveLetter(9) = "T:"
strDriveLetter(10) = "P:"
strDriveLetter(11) = "M:"
strRemotePath(0) = "\\" & strServer & "\Pool"
strRemotePath(1) = "\\" & strServer & "\Download"
strRemotePath(2) = "\\" & strServer & "\Private"
strRemotePath(3) = "\\" & strServer & "\Backup"
strRemotePath(4) = "\\" & strServer & "\QNAP"
strRemotePath(5) = "\\" & strServer & "\Development"
strRemotePath(6) = "\\" & strServer & "\StockPhotos"
strRemotePath(7) = "\\" & strServer & "\vm"
strRemotePath(8) = "\\" & strServer & "\Web"
strRemotePath(9) = "\\" & strServer & "\tftproot"
strRemotePath(10) = "\\" & strServer & "\Public"
strRemotePath(11) = "\\" & strServer & "\Multimedia"

Dim objPing, objRetStatus
Dim Ping

Ping = False
Do while Ping = False
	set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
		("select * from Win32_PingStatus where address = '" & strServer & "'")

	For Each objRetStatus in objPing
		If IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode <> 0 Then
			Ping = False
		Else
			Ping = True
		End if
	Next
Loop

Dim iCnt
For icnt = 0 to iMapTotal -1
	objNetwork.MapNetworkDrive strDriveLetter(iCnt), strRemotePath(iCnt),,strUser,strPwd
Next

Wscript.Quit
 
  • Like
Reactions: fan11

Users search this thread by keywords

  1. Option Explicit
  2. mapdrives