¿Montar permanentemente el recurso compartido de red sin necesidad de iniciar sesión? (Windows)


26

En un servidor Windows 2008 R2 (estándar) necesito tener una unidad de red montada sin tener un usuario específico para iniciar sesión en la máquina primero. Algo así como un NFSmontaje a través fstabde máquinas Unix. La unidad de red se compartirá a través de un dispositivo BlackArmor (Seagate) (que supongo que ejecuta Samba). El dispositivo puede ser miembro del dominio si es necesario.

Hasta ahora he intentado usar Edit Group Policy-> Configuration-> Windows-> Scripts-> Startupdonde tuve que ejecutar

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

Sin éxito Al iniciar sesión, la unidad de red se vio en el Explorador de Windows como una unidad de red desconectada.


1
¿Desea tenerlo disponible para cualquier persona que inicie sesión en ese servidor, o necesita estar en una letra de unidad específica para algún servicio del sistema?
sysadmin1138

1
Necesito que esté en una letra de unidad específica para que la utilicen las aplicaciones que se ejecutan como un servicio en la máquina. No puedo hacer que el servicio ejecute un "uso neto" al iniciar :(
adamo

¿Has intentado editar la configuración de la política de la computadora local y hacer que el script se ejecute al inicio, desde Configuración del equipo-> Configuración de Windows-> Scripts?
gracias

Respuestas:


22

Esto aparentemente es posible, de acuerdo con esta publicación de StackOverflow .

Sin embargo, antes de publicar el contenido de la respuesta, ¿puedo sugerirle que está complicando demasiado esto?

En situaciones como esta en las que un código defectuoso necesita que un usuario inicie sesión para ejecutarse (como el servidor Domino, gruñe ), he creado una cuenta de servicio que siempre debe iniciar sesión en un servidor determinado y configurar un script de inicio de sesión automático, para que la máquina inicie sesión en la cuenta especificada al reiniciar automáticamente. Sugeriría que la solución más fácil y más compatible para su problema sería hacer lo mismo, y tener la unidad asignada para ese usuario de la cuenta de servicio por Política de grupo o secuencia de comandos de inicio de sesión.

De todos modos, si está decidido a probar esto sin un contexto de usuario, consulte lo siguiente. Es un truco, así que úsalo bajo tu propio riesgo y todo:

Para este hack necesitará SysinternalsSuite de Mark Russinovich: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Paso uno: abra un indicador elevado de cmd.exe (Ejecutar como administrador)

Paso dos: Vuelva a elevarse a la raíz con PSExec.exe: navegue a la carpeta que contiene SysinternalsSuite y ejecute el siguiente comando "psexec -i -s cmd.exe". puede probar esto escribiendo "whoami". El -i es necesario porque las asignaciones de unidades deben interactuar con el usuario

Paso tres: Cree la unidad asignada persistente como la cuenta del SISTEMA con el siguiente comando "net use z: \ servername \ sharedfolder / persistent: yes"

¡Es fácil!

ADVERTENCIA: solo puede eliminar esta asignación de la misma manera que la creó, de la cuenta SYSTEM. Si necesita eliminarlo, siga los pasos 1 y 2 pero cambie el comando en el paso 3 a: "net use z: / delete"

NOTA: La unidad asignada recién creada ahora aparecerá para TODOS los usuarios de este sistema, pero la verán mostrada como "Unidad de red desconectada (Z :)". No dejes que el nombre te engañe. Puede afirmar que está desconectado, pero funcionará para todos. Así es como se puede decir que este truco no es compatible con M $.

De comentarios:

Para que funcione después de un reinicio, cree una secuencia de comandos que solo contenga net use z: \ servername \ sharedfolder y configúrelo para que se ejecute al iniciar la computadora, según technet.microsoft.com/en-us/library/cc770556.aspx Esto se ejecutará como la cuenta SYSTEM, por lo que no necesita psexec.


El uso de un recurso compartido de red con nombre de usuario y contraseña no parece funcionar. Veo la "Unidad de red desconectada" pero no puedo acceder a ella "Nombre de usuario y contraseña incorrectos".
spankmaster79

1
@ spankmaster79 < shrug > No estoy seguro de por qué obtendrías ese error (¿bloqueo de cuenta, tal vez?), pero si tienes una pregunta nueva o relacionada, te recomiendo que la hagas como una pregunta en el sitio principal, en lugar de comentar aquí .
HopelessN00b


2

También puede intentar agregar Sysinternals Suite a C: \ SysinternalsSuite

  1. Ejecuta una cmdventana elevada
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Para asegurarte de que no eres autoridad
  5. net use x: \\PathToDrive o share /persistent:yes

Debería mostrarse como una unidad desconectada y, para montarlo automáticamente, solo cree un script de inicio con el paso 5. Tendrá que usar los pasos 1 - 5 para eliminar el mapeo, solo cambie 5 para reflejar el uso neto x: / delete


0

Encontré una solución para montar permanentemente una unidad. Sin embargo, la unidad no está montada en todas las sesiones. Lo hice en Windows Server 2019.

Digamos que queremos montar un directorio llamado target_dirubicado en target_server. Mi nombre de usuario es my_usernamey mi contraseña my_passworden un dominio llamado MY_DOMAIN. Vamos a montarlo en el T:disco.

En primer lugar, cree un nuevo archivo de texto en cualquier lugar (en su escritorio, por ejemplo). Ábrelo y analiza esto:

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

Luego, cámbiele el nombre mount_drive.baty mueva este archivo a C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup.

Asegúrese de que el archivo ya no sea un .txtarchivo.

Ahora, presione Win+R, escriba gpedit.mscy ejecute el Editor de directivas de grupo local .

Busque Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)y haga doble clic en Startup.
Haga clic en y Add...luego Browse...seleccione el archivo que acaba de mover.

A continuación, busque Computer Configuration\Administrative Templates\System\Logon, establezca Always wait for the network at computer startup and logona enabled, Guardar y cerrar.

Abra una terminal elevada para guardar sus credenciales. Luego configure Windows para no desconectar esta unidad después de un tiempo de espera.

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

Opcionalmente, puede verificar que todo funcione ejecutando C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\mount_drive.bat

Reiniciar

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.