Subst drive invisible en procesos no administrativos

1

Tengo una carpeta local, X:\Source\Q_Projectque quiero asignar a la Q:letra de la unidad. Utilizo un acceso directo que apunta a un archivo por lotes para esto. El archivo por lotes es:

@echo off
subst q: /d
subst q: X:\Source\Q_Project

Esto funcionó bien en Windows 7 Ultimate 64-bit: pude ver la Q:unidad desde el Explorador de Windows y desde cualquier otro programa de 32/64 bits, incluida la consola, etc.

En Windows 8 Home de 64 bits, esto ya no funciona. Tengo UAC apagado (solo a través de la interfaz de usuario, por lo que no está realmente apagado, pero las advertencias están apagadas de todos modos). El acceso directo está configurado para ejecutarse como administrador en la Properties->Shortcutpestaña.

Cuando hago doble clic en el acceso directo, el archivo por lotes se ejecuta y la Q:unidad es visible desde un programa en particular, Far Manager (aplicación de consola de 32 bits, que se ejecuta como administrador). Si inicio un proceso a través de Far Manager, ese proceso también ve la Q:unidad. Todo lo que intento iniciar a través del Explorador de archivos u otros accesos directos de escritorio no ve la unidad sustituida. Si ejecuto un acceso directo con Run as administrator, esos programas verán la Q:unidad.

Esto me está volviendo loco, ¿hay alguna manera de arreglar esto en esta lamentable excusa de un sistema operativo? Windows 7 funcionó perfectamente con esto (estaba ejecutando como administrador real en Windows 7 pero en Windows 8 estoy tratando de ver si es posible hacerlo 'bien'; hasta ahora parece que esto falla, sigo teniendo que ejecutar todo como administrador).

¿Es la única opción para desactivar realmente UAC y ejecutar como administrador real? Sé que matará todas las aplicaciones de Metro, pero eso está bien para mí.

Nota: un mapeo permanente a través del registro no funcionará para mí (también tengo uno de esos). Necesito poder volver a asignar la Q:unidad con frecuencia a diferentes repositorios de código fuente sin tener que cerrar sesión / reiniciar.

xxbbcc
fuente
1
lo que está viendo no es diferente de 7 o incluso Vista: cuando ejecuta algo "Como administrador", se ejecuta en el contexto del Administrador y no del usuario. De todos modos, ¿cuál es el problema REAL que estás tratando de resolver? ¿Por qué no solo map / subst Q: como el usuario actual?
Ƭᴇcʜιᴇ007
1
Con UAC activado, obtiene 2 contextos, el usuario estándar filtrado y el usuario elevado. El comando subst solo es efectivo para el contexto en el que se emitió. Debería ejecutar el subst como usuario estándar. ¿Cuál es la razón por la que ejecuta el acceso directo como administrador?
David Marshall
@DavidMarshall Lo necesito porque la mayoría de mis programas necesitan ejecutarse como administrador: Visual Studio, Far Manager, etc. Intento ejecutar la menor cantidad de programas como administrador, pero eso solo se aplica a los programas de Office. Soy ingeniero y la mayoría de mis programas necesitan ejecutarse como administrador.
xxbbcc
55
O sustitúyalo dos veces, una para el contexto del usuario que está utilizando y otra para el contexto del usuario administrador. PD: Ejecuto VS en modo de usuario normal todo el tiempo, lo ayuda a crear programas que requieren privilegios de administrador sin darse cuenta. ;) Quizás debería considerar cambiar sus procesos en lugar de tratar de eludir la seguridad del sistema operativo.
Ƭᴇcʜιᴇ007

Respuestas:

0

Si desea "asignar" las carpetas con subst y usar una "instancia de administrador" de un programa, también debe hacer la "subst" como administrador. Fácil;)

Haga clic derecho en su ShortCut y haga clic en "Ejecutar como administrador ..."

usuario244257
fuente