web-dev-qa-db-fra.com

Monter le partage réseau de façon permanente sans avoir besoin de se connecter? (Les fenêtres)

Sur un serveur Windows 2008 R2 (standard), je dois avoir un lecteur réseau monté sans qu'un utilisateur spécifique ne se connecte d'abord à la machine. Un peu comme un montage NFS via fstab sur les machines Unix. Le lecteur réseau sera un partage via une appliance BlackArmor (Seagate) (qui, je suppose, exécute Samba). L'appliance peut être membre du domaine si nécessaire.

Jusqu'à présent, j'ai essayé d'utiliser Edit Group Policy -> Configuration -> Windows -> Scripts -> Startup où je l'ai fait exécuter

Net Use x: \\server\share /user:username password

Sans succès. Lors de la connexion, le lecteur réseau a été vu dans l'Explorateur Windows comme un lecteur réseau déconnecté.

26
adamo

Cela est apparemment possible, selon ce post StackOverflow .

Avant de publier le contenu de la réponse, puis-je suggérer que vous compliquez trop cela?

Dans des situations comme celle-ci où un morceau de code merdique a besoin d'un utilisateur connecté pour fonctionner (comme le serveur Domino, grogner ) J'ai créé un compte de service qui est pour toujours être connecté sur un serveur donné et configurer un script de connexion automatique, afin que la machine se connecte automatiquement au compte spécifié lors du redémarrage. Je suggère que la solution la plus simple et la plus supportable à votre problème serait de faire de même et de mapper le lecteur pour cet utilisateur de compte de service par la stratégie de groupe ou le script de connexion.

Quoi qu'il en soit, si vous êtes déterminé à essayer cela sans contexte utilisateur, voir ci-dessous. C'est un hack, donc utilisez à vos risques et périls:

Pour ce hack, vous aurez besoin de SysinternalsSuite de Mark Russinovich: http://technet.Microsoft.com/en-us/sysinternals/bb842062.aspx

Première étape: ouvrir une invite cmd.exe élevée (exécuter en tant qu'administrateur)

Deuxième étape: élever à nouveau à la racine à l'aide de PSExec.exe: accédez au dossier contenant SysinternalsSuite et exécutez la commande suivante "psexec -i -s cmd.exe" vous êtes maintenant à l'intérieur d'une invite qui est "nt Authority\system" et vous peut le prouver en tapant "whoami". Le -i est nécessaire car les mappages de lecteurs doivent interagir avec l'utilisateur

Étape 3: créez le lecteur mappé persistant en tant que compte SYSTEM avec la commande suivante "Net Use z:\servername\sharedfolder/persistent: yes"

C'est si facile!

AVERTISSEMENT: vous pouvez uniquement supprimer ce mappage de la même manière que vous l'avez créé, à partir du compte SYSTEM. Si vous devez le supprimer, suivez les étapes 1 et 2 mais changez la commande de l'étape 3 en: "Net Use z:/delete"

REMARQUE: Le lecteur mappé nouvellement créé apparaîtra maintenant pour TOUS les utilisateurs de ce système, mais ils le verront affiché comme "Lecteur réseau déconnecté (Z :)". Ne laissez pas le nom vous tromper. Il peut prétendre être déconnecté, mais cela fonctionnera pour tout le monde. Voilà comment vous pouvez dire que ce hack n'est pas pris en charge par M $.

Des commentaires:

Pour le faire fonctionner après un redémarrage, créez un script contenant simplement Net Use z:\servername\sharedfolder et configurez-le pour qu'il s'exécute au démarrage de l'ordinateur, par technet.Microsoft.com/en-us/library/cc770556.aspx Cela s'exécutera comme le compte SYSTEM, donc pas besoin de psexec.

22
HopelessN00b

créer son fichier batch, qui exécute cette commande. le convertir en un service Windows. faire démarrer ce service au démarrage de Windows, et c'est tout.

Cela peut être utile: Comment créer un service exécutant un fichier .bat sur Windows 2008 Server?

4
Farhan

Vous pouvez également essayer d'ajouter Sysinternals Suite à C:\SysinternalsSuite

  1. Exécutez une fenêtre cmd élevée
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Pour vous assurer que vous n'êtes pas autorisé
  5. Net Use x: \\PathToDrive ou share /persistent:yes

Il devrait s'afficher comme un lecteur déconnecté et pour le monter automatiquement, il suffit de créer un script de démarrage avec l'étape 5 dedans. Vous devrez utiliser les étapes 1 à 5 pour supprimer le mappage, il suffit de changer 5 pour refléter l'utilisation nette x:/delete

2
DzSoundNirvana

J'ai trouvé une solution pour monter définitivement un lecteur. Cependant, le lecteur n'est pas monté à chaque session. Je l'ai fait sur Windows Server 2019.

Disons que nous voulons monter un répertoire appelé target_dir Situé sur target_server. Mon nom d'utilisateur est my_username Et mon mot de passe my_password Sur un domaine appelé MY_DOMAIN. Montons-le sur le lecteur T:.

Tout d'abord, créez un nouveau fichier texte n'importe où (sur votre bureau par exemple). Ouvrez-le et analysez ceci:

@ECHO OFF
Net Use s: \\target_server\target_dir /persistent:yes

Ensuite, renommez-le en mount_drive.bat Et déplacez ce fichier en C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup.

Assurez-vous que le fichier n'est plus un fichier .txt.

Maintenant, appuyez sur Win+R, Tapez gpedit.msc Et exécutez l'éditeur de stratégie de groupe local .

Naviguez jusqu'à Computer Configuration\Windows Settings\Scripts (Startup/Shutdown) et double-cliquez sur Startup.
Cliquez sur Add... Puis sur Browse..., Sélectionnez le fichier que vous venez de déplacer.

Ensuite, accédez à Computer Configuration\Administrative Templates\System\Logon, Définissez Always wait for the network at computer startup and logon Sur enabled, enregistrez et fermez.

Ouvrez un terminal élevé pour enregistrer vos informations d'identification. Configurez ensuite Windows afin de ne pas déconnecter ce lecteur après un timeout.

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

Vous pouvez éventuellement vérifier que tout fonctionne en exécutant C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\mount_drive.bat

Redémarrer

0
vdsbenoit