Obtém dados de outro arquivo do Excel

0

Eu tenho uma planilha do Excel que contém uma lista de nomes de usuário

Cada usuário terá o seguinte código. Eu só preciso encontrar uma maneira de substituir First.Last pelos nomes na planilha do Excel. Existem mais de 800 nomes e posso fazer isso manualmente. É muito 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
    
por software is fun 15.08.2014 / 19:10

1 resposta

1

Se você precisar obter uma lista de nomes do Excel, copie e cole a lista de nomes no bloco de notas e salve como names.txt como abaixo.

finja o conteúdo de names.txt

tim x
bob y
pete z
joe a

Abra o bloco de notas e cole isto em: (salve como doit.bat )

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

Esta linha irá chamar o perms.bat para cada nome de usuário encontrado em names.txt

Se você quiser fazer todos os usuários em f: \ users *. * e forgo excel todos juntos, faça o seguinte: Em vez da declaração for acima. Ir para o bloco de notas e colá-lo em:

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

salve e nomeie-o doit.bat

abra o bloco de notas e coloque seu código ligeiramente modificado. Salve e nomeie-o 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

goto prompt de comando administrativo.

Se você quiser executar isso em tempo real, faça o seguinte:

digite doit.bat

Se você quiser salvar os comandos em um arquivo:

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

backup perms.bat else onde. Em seguida, renomeie txt.bat para perms.bat e execute doit.bat Então, quando você executar o doit.bat , todos os comandos aparecerão em texto simples em all.txt . Você pode então copiar e colar os resultados no excel, se precisar.

    
por 15.08.2014 / 20:37