Zamontować na stałe udział sieciowy bez konieczności logowania? (Windows)

26

W systemie Windows 2008 R2 Server (Standard) muszę mieć podłączony dysk sieciowy bez konieczności zalogowania się konkretnego użytkownika na komputerze. W pewnym NFSsensie jak mount za pośrednictwem fstabmaszyn Unix. Dysk sieciowy będzie udostępniany za pośrednictwem urządzenia BlackArmor (Seagate) (który, jak przypuszczam, uruchamia Sambę). W razie potrzeby urządzenie może być członkiem domeny.

Do tej pory próbowałem użyć Edit Group Policy-> Configuration-> Windows-> Scripts-> Startuptam, gdzie miałem to wykonać

net use x: \\server\share /user:username password

Bez powodzenia. Po zalogowaniu dysk sieciowy był widoczny w Eksploratorze Windows jako odłączony dysk sieciowy.

adamo
źródło
1
Czy chcesz, aby był on dostępny dla każdego, kto loguje się na tym serwerze, czy też musi znajdować się na konkretnej literze dysku dla niektórych usług systemowych?
sysadmin1138
1
Potrzebuję go na konkretnej literze dysku do użytku przez aplikacje działające jako usługa na komputerze. Nie mogę
sprawić,
Czy próbowałeś edytować Lokalne ustawienia zasad komputera i uruchomić skrypt podczas uruchamiania, wybierając Konfiguracja komputera -> Ustawienia systemu Windows -> Skrypty?
thanosk

Odpowiedzi:

22

To najwyraźniej możliwe, zgodnie z tym postem StackOverflow .

Czy jednak przed opublikowaniem treści odpowiedzi mogę zasugerować, że nadmiernie to komplikujesz?

W takich sytuacjach, gdy jakiś gówniany kawałek kodu wymaga zalogowania użytkownika do uruchomienia (np. Serwer Domino, narzekanie ) utworzyłem konto usługi, które zawsze musi być zalogowane na danym serwerze, i skonfigurowałem skrypt automatycznego logowania, aby komputer automatycznie logował się na określone konto przy ponownym uruchomieniu. Sugeruję, że łatwiejszym i bardziej obsługiwanym rozwiązaniem problemu byłoby zrobienie tego samego i zmapowanie dysku dla tego użytkownika konta usługi według zasad grupy lub skryptu logowania.

W każdym razie, jeśli zdecydujesz się wypróbować to bez kontekstu użytkownika, zobacz poniżej. To hack, więc używaj na własne ryzyko i wszystkie:

Do tego włamania potrzebujesz SysinternalsSuite autorstwa Marka Russinovicha: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Krok pierwszy: Otwórz wiersz polecenia cmd.exe z podwyższonym poziomem uprawnień (Uruchom jako administrator)

Krok drugi: Podnieś ponownie, aby zrootować za pomocą PSExec.exe: Przejdź do folderu zawierającego SysinternalsSuite i wykonaj następującą komendę „psexec -i -s cmd.exe”, pojawia się teraz monit „nt Authority \ system”, a ty można to udowodnić, wpisując „whoami”. -I jest potrzebne, ponieważ mapowania dysków muszą wchodzić w interakcje z użytkownikiem

Krok trzeci: Utwórz trwały dysk zamapowany jako konto SYSTEM za pomocą następującego polecenia „net use z: \ servername \ sharedfolder / persistent: yes”

To takie proste!

OSTRZEŻENIE: Mapowanie można usunąć tylko w taki sam sposób, w jaki zostało utworzone, z konta SYSTEM. Jeśli chcesz go usunąć, wykonaj kroki 1 i 2, ale zmień polecenie w kroku 3 na: „net use z: / delete”

UWAGA: Nowo utworzony zamapowany dysk będzie teraz wyświetlany dla WSZYSTKICH użytkowników tego systemu, ale zobaczy go jako „Odłączony dysk sieciowy (Z :)”. Nie daj się zwieść nazwie. Może twierdzić, że jest odłączony, ale będzie działać dla wszystkich. W ten sposób możesz stwierdzić, że ten hack nie jest obsługiwany przez M $.

Z komentarzy:

Aby uruchomić go po ponownym uruchomieniu, utwórz skrypt zawierający tylko net use z: \ servername \ sharedfolder i ustaw go do uruchamiania przy uruchamianiu komputera, zgodnie z technet.microsoft.com/en-us/library/cc770556.aspx konto SYSTEM, więc nie ma potrzeby korzystania z psexec.

Beznadziejny
źródło
Korzystanie z udziału sieciowego z nazwą użytkownika i hasłem nie wydaje się działać. Widzę „Odłączony dysk sieciowy”, ale nie mam dostępu do niego „Zła nazwa użytkownika i hasło”.
spankmaster79
1
@ spankmaster79 <shrug> Nie wiem, dlaczego pojawia się ten błąd (może blokada konta?), ale jeśli masz nowe lub powiązane pytanie, radzę zadać je jako pytanie na stronie głównej, zamiast komentować tutaj .
HopelessN00b
4

utwórz swój plik wsadowy, który uruchomi to polecenie. przekonwertować na usługę Windows. uruchom tę usługę przy starcie systemu Windows i to wszystko.

Może to być pomocne: Jak utworzyć usługę z plikiem .bat w systemie Windows 2008 Server?

Farhan
źródło
wygląda na to, że Dałeś mi słowo DOWOLNIE. Czy uważasz, że do uruchomienia usługi Windows wymagane jest zalogowanie się? popełniłem błąd w literówce, który poprawiłem
Farhan
2

Możesz także spróbować dodać pakiet Sysinternals Suite do C: \ SysinternalsSuite

  1. Uruchom podwyższone cmdokno
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Aby upewnić się, że nie jesteś autorytetem
  5. net use x: \\PathToDrive lub share /persistent:yes

Powinien być wyświetlany jako odłączony dysk i aby go automatycznie zamontować, po prostu utwórz skrypt startowy z krokiem 5. Będziesz musiał wykonać kroki 1–5, aby usunąć mapowanie, po prostu zmień 5, aby odzwierciedlić użycie netto x: / delete

DzSoundNirvana
źródło
0

Znalazłem rozwiązanie na stałe zamontować dysk. Jednak dysk nie jest montowany w każdej sesji. Zrobiłem to na Windows Server 2019.

Powiedzmy, że chcemy zamontować katalog o nazwie target_dirzlokalizowany target_server. Moja nazwa użytkownika to my_usernamei moje hasło my_passwordw domenie o nazwie MY_DOMAIN. Zamontujmy go na T:dysku.

Po pierwsze, utwórz nowy plik tekstowy w dowolnym miejscu (na przykład na pulpicie). Otwórz i przeanalizuj to:

@ECHO OFF
net use s: \\target_server\target_dir /persistent:yes

Następnie zmień nazwę na mount_drive.bati przenieś ten plik do C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup.

Upewnij się, że plik nie jest .txtjuż plikiem.

Teraz naciśnij Win+R, wpisz gpedit.msci uruchom Edytor lokalnych zasad grupy .

Wyszukaj Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)i kliknij dwukrotnie Startup.
Kliknij, Add...a następnie Browse...wybierz właśnie przeniesiony plik.

Następnie przejdź do Computer Configuration\Administrative Templates\System\Logonustaw Always wait for the network at computer startup and logon, aby enabledzapisać i zamknąć.

Otwórz podwyższony terminal, aby zapisać swoje poświadczenia. Następnie skonfiguruj system Windows, aby nie odłączał tego dysku po upływie limitu czasu.

cmdkey /add:target_server /user:MY_DOMAIN\my_username /pass:my_password
NET CONFIG SERVER /AUTODISCONNECT:-1

Możesz opcjonalnie sprawdzić, czy wszystko działa, uruchamiając C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\mount_drive.bat

Restart

vdsbenoit
źródło