Montare in modo permanente la condivisione di rete senza la necessità di accedere? (Finestre)


26

Su un server Windows 2008 R2 (standard) ho bisogno di avere un'unità di rete montata senza prima avere un utente specifico per accedere alla macchina. Un po 'come una NFSmontatura fstabsu macchine Unix. L'unità di rete sarà una condivisione tramite un dispositivo BlackArmor (Seagate) (che presumo esegua Samba). L'appliance può essere un membro del dominio, se necessario.

Finora ho provato a usare Edit Group Policy-> Configuration-> Windows-> Scripts-> Startupdove l'ho fatto eseguire

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

Senza successo. All'accesso l'unità di rete è stata vista su Esplora risorse come unità di rete disconnessa.


1
Stai cercando di averlo disponibile a chiunque acceda a quel server o deve trovarsi su una specifica lettera di unità per alcuni servizi di sistema?
sysadmin1138

1
Ho bisogno che sia su una lettera di unità specifica per l'uso da parte di applicazioni che funzionano come un servizio sulla macchina. Non posso fare in modo che il servizio esegua un "utilizzo netto" all'avvio :(
adamo,

Hai provato a modificare le impostazioni dei criteri del computer locale e far eseguire lo script all'avvio, da Configurazione computer-> Impostazioni di Windows-> Script?
Grazie

Risposte:


22

Questo apparentemente possibile, secondo questo post StackOverflow .

Prima di pubblicare il contenuto della risposta, tuttavia, posso suggerire che stai complicando troppo?

In situazioni come questa in cui un frammento di codice necessita di un utente connesso per eseguire (come server Domino, brontolare ) ho creato un account di servizio che deve essere sempre registrato su un determinato server e ho impostato uno script di accesso automatico, in modo che la macchina acceda automaticamente all'account specificato al riavvio. Suggerirei che la soluzione più semplice e più sostenibile al tuo problema sarebbe quella di fare lo stesso e di far mappare l'unità per quell'utente dell'account di servizio tramite Criteri di gruppo o script di accesso.

Ad ogni modo, se si è determinati a provarlo senza un contesto utente, vedere di seguito. È un hack, quindi usa a tuo rischio e pericolo:

Per questo trucco avrai bisogno di SysinternalsSuite di Mark Russinovich: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Passaggio 1: aprire un prompt cmd.exe elevato (Esegui come amministratore)

Passaggio 2: elevare di nuovo alla radice utilizzando PSExec.exe: accedere alla cartella contenente SysinternalsSuite ed eseguire il comando "psexec -i -s cmd.exe" che si trova ora all'interno di un prompt che è "nt autorità \ sistema" e si può dimostrarlo digitando "whoami". -I è necessario perché i mapping delle unità devono interagire con l'utente

Passaggio 3: creare l'unità mappata persistente come account SYSTEM con il seguente comando "net use z: \ servername \ sharedfolder / persistent: yes"

È così facile!

ATTENZIONE: È possibile rimuovere questa mappatura solo nello stesso modo in cui è stata creata, dall'account SYSTEM. Se è necessario rimuoverlo, seguire i passaggi 1 e 2 ma modificare il comando al passaggio 3 in: "net use z: / delete"

NOTA: l'unità mappata appena creata verrà ora visualizzata per TUTTI gli utenti di questo sistema, ma verrà visualizzata come "Disconnected Network Drive (Z :)". Non lasciarti ingannare dal nome. Potrebbe pretendere di essere disconnesso ma funzionerà per tutti. È così che puoi dire che questo hack non è supportato da M $.

Dai commenti:

Per farlo funzionare dopo un riavvio, creare uno script contenente solo net use z: \ nomeserver \ cartella condivisa e impostarlo per l'esecuzione all'avvio del computer, per technet.microsoft.com/en-us/library/cc770556.aspx Questo verrà eseguito come l'account SYSTEM, quindi non è necessario per psexec.


L'uso di una condivisione di rete con nome utente e password non sembra funzionare. Vedo "Disconnected Network Drive" ma non riesco ad accedervi "Nome utente e password errati".
spankmaster79,

1
@ spankmaster79 <shrug> Non sei sicuro del motivo per cui potresti riscontrare quell'errore (blocco dell'account, forse?), ma se hai una domanda nuova o correlata, ti consiglio di fare una domanda sul sito principale, invece di commentare qui .
HopelessN00b,


2

Puoi anche provare ad aggiungere Sysinternals Suite a C: \ SysinternalsSuite

  1. Esegui una cmdfinestra elevata
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Per essere sicuro di non avere l'autorità
  5. net use x: \\PathToDrive o share /persistent:yes

Dovrebbe essere visualizzato come unità disconnessa e per montarlo automaticamente basta creare uno script di avvio con il passaggio 5 al suo interno. Dovrai usare i passaggi 1 - 5 per eliminare la mappatura, basta cambiare 5 per riflettere net use x: / delete


0

Ho trovato una soluzione per montare un'unità in modo permanente. Tuttavia, l'unità non è montata su ogni sessione. L'ho fatto su Windows Server 2019.

Diciamo che vogliamo montare una directory chiamata target_dirsituata su target_server. Il mio nome utente è my_usernamee la mia password my_passwordsu un dominio chiamato MY_DOMAIN. Montiamolo sul T:disco.

Innanzitutto, crea un nuovo file di testo ovunque (ad esempio sul desktop). Aprilo e analizza questo:

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

Quindi, rinominalo in mount_drive.bate sposta questo file in C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup.

Assicurarsi che il file non sia più un .txtfile.

Ora premi Win+R, digita gpedit.msced esegui l' Editor criteri di gruppo locali .

Cerca Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)e fai doppio clic su Startup.
Fai clic su , Add...quindi Browse...seleziona il file che hai appena spostato.

Quindi sfogliare Computer Configuration\Administrative Templates\System\Logon, impostare Always wait for the network at computer startup and logonsu enabled, salvare e chiudere.

Apri un terminale elevato per salvare le tue credenziali. Quindi configurare Windows per non disconnettere l'unità dopo un timeout.

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

Puoi facoltativamente verificare che tutto funzioni eseguendo C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\mount_drive.bat

Reboot

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.