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

26

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 NFSmontage via fstabsur 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-> Startupoù 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é.

adamo
la source
1
Cherchez-vous à le mettre à la disposition de toute personne qui se connecte à ce serveur, ou doit-il être sur une lettre de lecteur spécifique pour un service système?
sysadmin1138
1
J'ai besoin que ce soit sur une lettre de lecteur spécifique à utiliser par les applications qui s'exécutent en tant que service sur la machine. Je ne peux pas demander au service d'exécuter une "utilisation nette" au démarrage :(
adamo
Avez-vous essayé de modifier les paramètres de stratégie de l'ordinateur local et d'exécuter le script au démarrage, à partir de Configuration ordinateur-> Paramètres Windows-> Scripts?
thanosk

Réponses:

22

C'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 un serveur Domino, grogner ), j'ai créé un compte de service qui doit 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é au 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-le à 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: ouvrez une invite cmd.exe élevée (Exécuter en tant qu'administrateur)

Étape 2: É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". peut le prouver en tapant "whoami". Le -i est nécessaire car les mappages de lecteurs doivent interagir avec l'utilisateur

Troisième étape: 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. le compte SYSTEM, donc pas besoin de psexec.

HopelessN00b
la source
L'utilisation d'un partage réseau avec nom d'utilisateur et mot de passe ne semble pas fonctionner. Je vois le "Lecteur réseau déconnecté" mais je ne peux pas y accéder "Nom d'utilisateur et mot de passe incorrects".
spankmaster79
1
@ spankmaster79 < shrug > Vous ne savez pas pourquoi vous obtiendrez cette erreur (verrouillage du compte, peut-être?), mais si vous avez une question nouvelle ou connexe, je vous recommande de la poser comme une question sur le site principal, au lieu de commenter ici .
HopelessN00b
4

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?

Farhan
la source
semble que vous avez pris ma parole LITTÉRALEMENT. Pensez-vous qu'une connexion est requise pour que le service Windows fonctionne? j'ai fait une faute de frappe, que j'ai corrigée
Farhan
2

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

  1. Exécuter une cmdfenêtre surélevée
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Pour vous assurer que vous n'êtes pas l'autorité
  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

DzSoundNirvana
la source
0

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_dirlocated on target_server. Mon nom d'utilisateur est my_usernameet mon mot my_passwordde passe sur un domaine appelé MY_DOMAIN. Montons-le sur le T:lecteur.

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.batet déplacez ce fichier vers C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup.

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

Maintenant, appuyez sur Win+R, tapez gpedit.mscet exécutez l' éditeur de stratégie de groupe locale .

Recherchez Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)et double-cliquez sur Startup.
Cliquez Add...ensuite sur Browse..., sélectionnez le fichier que vous venez de déplacer.

Ensuite, recherchez Computer Configuration\Administrative Templates\System\Logon, définissez Always wait for the network at computer startup and logonsur enabled, enregistrez et fermez.

Ouvrez un terminal suré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

vdsbenoit
la source