Obtener datos de otro archivo de Excel

Obtener datos de otro archivo de Excel

Tengo una hoja de cálculo de Excel que contiene una lista de nombres de usuario.

Cada usuario tendrá el siguiente código. Sólo necesito encontrar una manera de sustituir First.Last con los nombres en la hoja de cálculo de Excel. Hay más de 800 nombres y puedo hacerlo manualmente. Es simplemente muy tedioso.

echo Y | takeown /F "F:\Users\First.Last" /R
icacls "F:\USERS\First.Last" /reset /T /C /Q
icacls "F:\USERS\First.Last" /inheritance:r /T /C /Q
icacls "F:\USERS\First.Last" /grant:r system:(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "Site admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "Domain admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "CREATOR OWNER":(OI)(CI)F /T /C /Q
icacls "F:\USERS\First.Last" /grant:r First.Last:(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /remove:g "everyone" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "administrators" /T /C /Q
icacls "F:\USERS\First.Last" /remove Everyone /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "COURTS\administrator.account" /T /C /Q
icacls "F:\USERS\First.Last" /remove "COURTS\administrator.account" /T /C /Q
icacls "F:\Users\First.Last" /setowner "COURTS\First.Last" /c /t /Q
icacls "F:\USERS\First.Last" /inheritance:e /T /C /Q
net share First.Last$ /delete
icacls "F:\USERS\First.Last" /remove:g "system" /T /C /Q
icacls "F:\USERS\First.Last" /remove "system" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Site Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Site Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Domain Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Domain Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Creator Owner" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Creator Owner" /T /C /Q

Respuesta1

Si necesita obtener una lista de nombres de Excel, copie y pegue la lista de nombres en el bloc de notas y guárdela comonombres.txtcomo a continuación.

contenidos fingidos de nombres.txt

tim x
bob y
pete z
joe a

Vaya al bloc de notas y pegue esto en: (guárdelo comohacer.bat)

for /f "delims=@" %i in (names.txt) do @echo call perms.bat "%i"

Esta línea llamará alpermanentes.batpor cada nombre de usuario encontrado ennombres.txt

Si desea hacer todos los usuarios en f:\users*.* y renunciar a Excel todos juntos, haga esto: en lugar de la declaración for anterior. Vaya al bloc de notas y pegue esto en:

for /D %i in ("f:\users\*.*") do call perms.bat "%~ni"

guárdalo y llámalo doit.bat

Abra el bloc de notas y coloque su código ligeramente modificado. Guárdelo y asígnele el nombre perms.bat

echo Y | takeown /F "F:\Users\%1" /R
icacls "F:\USERS\%1" /reset /T /C /Q
icacls "F:\USERS\%1" /inheritance:r /T /C /Q
icacls "F:\USERS\%1" /grant:r system:(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "Site admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "Domain admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "CREATOR OWNER":(OI)(CI)F /T /C /Q
icacls "F:\USERS\%1" /grant:r %1:(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /remove:g "everyone" /T /C /Q
icacls "F:\USERS\%1" /remove:g "administrators" /T /C /Q
icacls "F:\USERS\%1" /remove Everyone /T /C /Q
icacls "F:\USERS\%1" /remove:g "COURTS\administrator.account" /T /C /Q
icacls "F:\USERS\%1" /remove "COURTS\administrator.account" /T /C /Q
icacls "F:\Users\%1" /setowner "COURTS\%1" /c /t /Q
icacls "F:\USERS\%1" /inheritance:e /T /C /Q
net share %1$ /delete
icacls "F:\USERS\%1" /remove:g "system" /T /C /Q
icacls "F:\USERS\%1" /remove "system" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Site Admins" /T /C /Q
icacls "F:\USERS\%1" /remove "Site Admins" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Domain Admins" /T /C /Q
icacls "F:\USERS\%1" /remove "Domain Admins" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Creator Owner" /T /C /Q
icacls "F:\USERS\%1" /remove "Creator Owner" /T /C /Q

Ir al símbolo del sistema administrativo.

Si desea ejecutar esto en tiempo real, haga esto:

tipohacer.bat

Si desea guardar los comandos en un archivo:

for /f "delims=@" %i in (perms.bat) do echo echo %i ^>^>all.txt  >>txt.bat

respaldopermanentes.baten otro lugar. Luego cambie el nombre de txt.bat apermanentes.baty ejecutarhacer.bat Entonces cuando correshacer.battodos los comandos aparecerán en texto plano entodo.txt. Luego puedes copiar y pegar los resultados en Excel si es necesario.

información relacionada