Con la llegada de Windows 7, 8 y 10 ya no tenemos la posibilidad de usar la función InGroup, vbscript es muy complejo, Poweshell requiere la instalación de .NET Framework y Kixtart ya no funciona igual pues utilizaba esa función.

Con el siguiente batch script usted puede verificar si un miembro pertenece a un grupo (no hay falsos positivos) y montar una unidad de red. Lo he probado en Windows  XP, 7, 8, 10, Windows Server 2003 y 2008, todo funciona bien.

No importa si nuestro DC es Samba o AD, en ambos casos funciona, aunque con AD usted podría preferir usar herramientas como Kixtart o Powershell.

Primero  obtenga el grupo del usuario, deberá copiar los espacios en blanco y tabulaciones con el comando:

net user %username% /domain > grupos_%username%.txt

Abra el archivo grupos_%username%.txt que generó y copie toda la línea del grupo (En windows 7 se imprime mal la salida puesto que muestra la información en 2 columnas, utilice otra versión de Windows como XP o Windows 8 para realizar este paso).

Luego cree su archivo .bat

REM ############################( Evaluate Group GrupoTest ) ############################
set i=0
set group=”                                                     *GrupoTest                                      ”
set user=%username%
for /f %%f in (‘”net user %user% /domain | findstr /l %grupo%”‘) do set /a i=%i+1
if %i% gtr 0 (goto :member)
:nomember
echo “%user% no puede usar este path”.
goto :end
:member
net use j: \serverresource
:end

Y eso es todo.