Ms-Dos - Copiar archivos utilizando cmd, con derechos de administrador.

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos utilizando cmd, con derechos de administrador.

Publicado por Marcelo (3 intervenciones) el 18/03/2020 05:56:19
Hola a todos..

Personalmente no soy un experto en crear comandos CMD, pero intento defenderme con lo que aprendo todos los días..

Lo que necesito es poder copiar un archivo a TODOS los usuarios del CPU en las siguientes rutas utilizando CMD que cuenta con derechos de administrador:

1
2
3
%userprofile%\Documents
%userprofile%\Favorites\Links
%appdata%\Mozilla

Recordemos que el CPU está en dominio...

EJEMPLO:

El computador (A) tiene los siguientes usuarios

- JHAdmin (Administrador y dueño de dominio)
- JHUser (Usuario del CPU)

Para poder modificar cualquier opción en el CPU desde la cuenta ( JHUser ), se necesita que CMD se encuentre con derechos de administrador.

El problema es que, al momento de intentar copiar el archivo con nombre (bookmark.htm) a las siguientes rutas:

1
2
3
COPY /D /V /Y "bookmark.htm" "%userprofile%\Documents"
COPY /D /V /Y "bookmark.htm" "%userprofile%\Favorites\Links"
COPY /D /V /Y "bookmark.htm" " %appdata%\Mozilla"

Lamentablemente NO se copiar a la carpeta Documentos de (JHUser), sinó a la carpeta de (JHAdmin), seguramente por que CMD se está ejecutando con derechos de administrador...

No se que variable de entorno tengo que cambiar y de que manera puedo copiar el archivo, a pesar de que CMD se encuentre ejecutando con derehcos de administrador, a las carpetas de (JHUser)...

Recordemos que NO todos los usuarios de los CPU se llaman (JHUser)...

Ya he probado con la siguiente ruta y no funciona:

1
C:\Users\%username%\Documents

De antemano, agradezco su ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos utilizando cmd, con derechos de administrador.

Publicado por Antoni Masana (811 intervenciones) el 20/03/2020 12:45:45
Prueba esto:

1
2
3
4
5
6
7
8
@echo off
set Orig=C:\Tmp
cd \Users
for /D %%a in (*) do (
    COPY /D /V /Y "%Orig%\bookmark.htm" "%%a\Documents"
    COPY /D /V /Y "%Orig%\bookmark.htm" "%%a\Favorites\Links"
    COPY /D /V /Y "%Orig%\bookmark.htm" "%%a\AppData\Roaming\Mozilla"
)

En la variable Orig debes indicar el directorio donde se encuentra el fichero a copiar.

Las variables %userprofile% y %appdata% se definen para el usuario con el que te loginas o el que esta en sesión.
Si has entrado como usuario (JHAdmin) solo lo copias a este usuario.

Para que veas su valor abre una ventana de MSDOS (cmd) y escribe SET.
Has lo mismo con otro usuario y compara el valor de las variables.

Los usuarios están en la carpeta C:\users (desde la consola de comandos o C:\Usuarios desde el explorador de Windows.

El BAT copia a todos los usuarios definidos en este directorio.


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos utilizando cmd, con derechos de administrador.

Publicado por Marcelo (3 intervenciones) el 20/03/2020 20:16:04
Muy buenas tardes estimado amigo Antoni Masana

De todo corazón, agradezco tu ayuda...

La verdad no soy un experto pero aprendo algo a diario, pero tengo un problema al ejecutar el comando compartirdo, me aparece los siguientes msj..


Captura_00053_002

El principal inconveinete que tengo en los CPU que están en (DOMINIO) es que no se copia los archivos a la ruta que detallo a continuación:

CODIGO COMPLETO

1
2
3
4
5
6
7
8
9
10
11
12
13
@ECHO OFF
if %PROCESSOR_ARCHITECTURE%==x86 (goto C_32) else if %PROCESSOR_ARCHITECTURE%==AMD64 (goto C_64)
 
:C_32
COPY /D /V /Y "%PROGRAMFILES%\PRUEBA\bookmark.htm" "%userprofile%\Documents"
COPY /D /V /Y "%PROGRAMFILES%\PRUEBA\bookmark.htm" "%userprofile%\Favorites\Links"
COPY /D /V /Y "%PROGRAMFILES%\PRUEBA\bookmark.htm" " %appdata%\Mozilla"
 
 
:C_64
COPY /D /V /Y "%PROGRAMFILES(X86)%\PRUEBA\bookmark.htm" "%userprofile%\Documents"
COPY /D /V /Y "%PROGRAMFILES(X86)%\PRUEBA\bookmark.htm" "%userprofile%\Favorites\Links"
COPY /D /V /Y "%PROGRAMFILES(X86)%\PRUEBA\bookmark.htm" " %appdata%\Mozilla"

El CPU que está en (DOMINIO) necesita que CMD se ejecute con (DERECHOS DE ADMINISTRADOR), tengo que ingresar la clave de adminsitrador para poder continuar, el problema es que al ejecutar el código el archivo se copia a la cuenta del adminsitrador y no a la cuenta del usuario.

Adjunto capturas para tener una idea...


Captura_01
Captura_02
Captura_03
Captura_04

EL ARCHIVO NO SE COPIA A LA CUENTA DEL USUARIO

Captura_05

EL ARCHIVO SI SE COPIA A LA CUENTA DEL ADMINISTRADOR

Captura_06
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos utilizando cmd, con derechos de administrador.

Publicado por Antoni Masana (811 intervenciones) el 20/03/2020 22:02:20
Veo un poco por donde va el problema.

Para ejecutar el BAT necesitas ejecutar el proceso CMD.EXE y es este ultimo el que tiene que tener los permisos de administrador.

Aquí veo dos problemas:

1º.- Ejecutar el CMD como administrador.
2º.- Que el BAT copia a los otro usuarios.

Para el primer problema depende de la frecuencia con la que tengas que hacer esta copia, si son pocas a mano introduciendo la contraseña y si son frecuentes con el Programador de Tareas.

En el segundo seria necesario saber que versiones de Windows tienes.

Me extraña el error del FOR:

1
2
for /D %%a in (*) do (
No se esperaba %%a en este momento.

Esta sintaxis es valida en Windows 7 hacia arriba pero no en versiones anteriores y no estoy seguro si funciona en Windows XP.

Más cosas:

¿Tiene que copiar también al Administrador?
¿Hay muchos usuarios?
¿Cuantos?
¿Se ha de ejecutar en muchos equipos?
¿Cuantos?

Si copias esto directamente en la linea de comandos desde C:\Users:

1
for /d %a in (*) do @echo %a

Debe mostrar los subdirectorios

Ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C:\Tmp>for /d %a in (*) do @echo %a
A
B
C
D
T
 
C:\Tmp>dir /A:D
 El volumen de la unidad C es Ant.Masana
 El número de serie del volumen es: 0000-0000
 
 Directorio de C:\Tmp
 
20/03/2020  12:27    <DIR>          .
20/03/2020  12:27    <DIR>          ..
02/07/2018  21:29    <DIR>          A
02/07/2018  21:29    <DIR>          B
02/07/2018  21:29    <DIR>          C
02/07/2018  21:28    <DIR>          D
21/05/2018  21:54    <DIR>          T


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos utilizando cmd, con derechos de administrador.

Publicado por Marcelo (3 intervenciones) el 21/03/2020 01:09:14
Mi estimado Antoni Masana

Muchas gracias por la información, lo que sucede es que es una pequeña parte de un ejecutable (BAT), que he creado para realizár várias taresa, no solo copiar archivos, además ejecuta programas, cambia configuraciones y otras opciones más.

Incluso puede mediante comando desinstalar programas para instalar nuevas verciones en los equipos de cómputo.

El archivo (BAT) fue comprimido a (.exe) y obiamente al ejecutar se lo tiene que realizar con (DERECHOS DE ADMINISTRADOR), para que pueda realziar várias tareas sin tener que solicitar nuevamente la contraseña de adminitrador.

¿Tiene que copiar también al Administrador?
Realmente no se tiene que copiar los archivos a la cuenta del adminsitrador, pero no tengo problema si lo realiza.

¿Hay muchos usuarios?
Son diferentes cuentas de usuario, los nombres de los usuarios son diferentes en cada CPU.



¿Cuantos?
Son en total 200 CPU, normalmente deberían ser sólo 2 usuarios, el problema es que se crean nuevos y no tengo contról de eso.

Aquí un ejemplo de los usuairos que están en uno de los CPU, los que están selecionados con las flechas son un ejemplo, pero lo malo es que el nombre cambia en cada CPU.

Captura_00062_011

¿Se ha de ejecutar en muchos equipos?
El ejecutable lo utilizo para actualizar todos los CPU, simplemente copio el archivo, se instala y cuando se ejecuta es más o menos así:

Captura_00061_010

¿Que Sistema Operativo utilizo?
Todos los CPU cuentan con Windows 10.


El problema es que, al parecer al ejecutar el (BAT) con (DERECHOS DE ADMINITRADOR) los archivos se copiar a la cuenta del administrador y no a la cuenta en donde se está ejecutando el archivo (BAT).

Tengo una duda.
¿No se que hace el siguiente comando?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
C:\Tmp>for /d %a in (*) do @echo %a
 
A
 
B
 
C
 
D
 
T
 
 
 
C:\Tmp>dir /A:D
 
 El volumen de la unidad C es Ant.Masana
 
 El número de serie del volumen es: 0000-0000
 
 
 
 Directorio de C:\Tmp
 
 
 
20/03/2020  12:27    <DIR>          .
 
20/03/2020  12:27    <DIR>          ..
 
02/07/2018  21:29    <DIR>          A
 
02/07/2018  21:29    <DIR>          B
 
02/07/2018  21:29    <DIR>          C
 
02/07/2018  21:28    <DIR>          D
 
21/05/2018  21:54    <DIR>          T
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar