Daten aus einer anderen Excel-Datei abrufen

Daten aus einer anderen Excel-Datei abrufen

Ich habe eine Excel-Tabelle mit einer Liste von Benutzernamen

Jeder Benutzer erhält den folgenden Code. Ich muss nur einen Weg finden, Vorname.Nachname durch die Namen in der Excel-Tabelle zu ersetzen. Es gibt über 800 Namen und ich kann das manuell machen. Es ist nur sehr mühsam.

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

Antwort1

Wenn Sie eine Liste mit Namen aus Excel benötigen, kopieren Sie die Namensliste, fügen Sie sie in den Editor ein und speichern Sie sie unterNamen.txtwie nachstehend.

Inhalt von names.txt vortäuschen

tim x
bob y
pete z
joe a

Gehen Sie zum Notizblock und fügen Sie dies ein: (speichern Sie es alsdoit.bat)

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

Diese Zeile ruft denperms.batfür jeden Benutzernamen gefunden inNamen.txt

Wenn Sie alle Benutzer in f:\users*.* ausführen und ganz auf Excel verzichten möchten, gehen Sie wie folgt vor: Anstelle der obigen for-Anweisung. Gehen Sie zum Editor und fügen Sie Folgendes ein:

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

Speichern Sie es und nennen Sie es doit.bat

Öffnen Sie den Editor und fügen Sie Ihren leicht modifizierten Code ein. Speichern Sie ihn und nennen Sie ihn 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

Gehen Sie zur administrativen Eingabeaufforderung.

Wenn Sie dies in Echtzeit ausführen möchten, gehen Sie wie folgt vor:

Typdoit.bat

Wenn Sie die Befehle in einer Datei speichern möchten:

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

Sicherungperms.batwoanders. Dann benennen Sie txt.bat um inperms.batund ausführendoit.bat Wenn du dann rennstdoit.batalle Befehle erscheinen im Klartext inalle.txt. Sie können die Ergebnisse dann bei Bedarf kopieren und in Excel einfügen.

verwandte Informationen