Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: daniel.r.23 en 21 Marzo 2013, 16:12 pm



Título: Obtener letra de unidad extraible BATCH
Publicado por: daniel.r.23 en 21 Marzo 2013, 16:12 pm
Buenas, buscando en la web encontre un par de comandos que me dicen de que tipo es una unidad el cód es este:
Código:

@ECHO OFF

FOR %%A IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL :COMP %%A

:COMP
SET UNIDAD=%1
PAUSE
FSUTIL FSINFO DRIVETYPE "%UNIDAD%:" > tipounidad.txt

el tema es que el comando FSUTIL solo me deja usarlo si soy administrador, cosa que no soy y no puedo serlo!!
Como yo puedo obtener la letra de uniadad de mi pendrive partiendo del nombre.
Se que atravez de el registro de windows se puede pero no recuerdo como!,  hace mucho hice un batch que respaldaba la info ni bien lo conectaba pero perdi el cód, si me pueden orientar mejor gracias.

Solucionado con este mini cód:
Código:
%~d0
ya que el .bat lo tengo que ejecutar yo mismo ese me devuleve la ubicación de donde lo estoy ejecutando, el problema ahora es que nesecito agregar una variable de entorno a windows para que cuando se cierre el .bat continúe esa variable.
Ideas??


Título: Re: Obtener letra de unidad extraible BATCH
Publicado por: Eleкtro en 21 Marzo 2013, 16:40 pm
Puedes setear una variable de entorno con el comando SETX:
Código:
SETX Variable Valor

Pero debes tener en cuenta que, las variables de entorno agregadas desde una instancia de la CMD no se pueden reconocer en esa misma instancia.

Es decir, si haces esto:

1. Abrir la CMD
2. Setear variable de entorno
3. Cerrar La CMD
4. Reabrir la CMD
5. Comprobar la variable de entorno

Todo perfecto, pero si haces esto otro:

1. Abrir la CMD
2. Setear variable de entorno
3. Comprobar la variable de entorno

Entonces no podrás.

PD: Para lo del búcle puedes usar tanto FSUTIL como WMIC, pero me parece que este otro también necesita permisos de Admin.

EDITO: PD2: Y si no te importa utilizar aplicaciones de terceros, puedes usar PSInfo que no necesita permisos.

Saludos


Título: Re: Obtener letra de unidad extraible BATCH
Publicado por: daniel.r.23 en 22 Marzo 2013, 03:32 am
esta muy buena tu idea si el SO fuera windows 7 pero en XP no me funciona ese comando, pero
de todas formas por medio del programita regshot logre ver que parte del registro se modificaba al ingresar la variable y exporte la clave, y bue la adapte a mi necesidad.
Acá el cód:
Código:
set letra=%~d0
reg add HKU\S-1-5-21-1957994488-1972579041-1801674531-500\Environment /v MIUNIDAD /t REG_SZ /d %letra%
pause

Este fragemento de ruta:
Código:
..\S-1-5-21-1957994488-1972579041-1801674531-500\..
es diferente en cada SO!, en mi pc es esa la ruta y en mi trabajo es esta por ej:
Código:
..\S-1-5-21-3283865553-3909256667-1845410349-1004\..


Título: Re: Obtener letra de unidad extraible BATCH
Publicado por: Martin-Ph03n1X en 22 Marzo 2013, 05:11 am
una respuesta simple pero puede servir si se tiene dskpart puedes suar la opcion DISKPART> list disk
DISKPART> assign


Título: Re: Obtener letra de unidad extraible BATCH
Publicado por: Eleкtro en 22 Marzo 2013, 09:43 am
Este fragemento de ruta:
Código:
..\S-1-5-21-1957994488-1972579041-1801674531-500\..
es diferente en cada SO!, en mi pc es esa la ruta y en mi trabajo es esta por ej:
Código:
..\S-1-5-21-3283865553-3909256667-1845410349-1004\..

Claro, porque eso es el identificador único de seguridad del usuario (SID).

Los cambios debes hacerlo en la rama "Hkey_Current_User" o en "HKey_Local_Machine", en la primera raíz las modificaciones que hagas son las que se aplican automáticamente a tu SID (es decir, a tu usuario), y la segunda raíz es global, es decir se aplican a todos los usuarios.

Código:
[HKEY_CURRENT_USER\Environment]
"Variable"="Valor"

Saludos