从另一个 Excel 文件获取数据

从另一个 Excel 文件获取数据

我有一个包含用户名列表的 Excel 电子表格

每个用户都会有以下代码。我只需要找到一种方法将 First.Last 替换为 Excel 电子表格中的名称。有超过 800 个名称,我可以手动完成。这非常繁琐。

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

答案1

如果您需要从 excel 获取姓名列表,则将姓名列表复制并粘贴到记事本中,然后另存为姓名.txt如下。

假装 names.txt 的内容

tim x
bob y
pete z
joe a

转到记事本并粘贴以下内容:(另存为执行脚本

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

这行代码将调用权限管理程序对于在姓名.txt

如果您想要处理 f:\users*.* 中的所有用户并完全放弃 Excel,请执行以下操作:而不是上面的 for 语句。转到记事本并粘贴以下内容:

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

保存并命名为doit.bat

打开记事本,将稍作修改的代码放入其中。保存并将其命名为 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

转到管理命令提示符。

如果您想实时执行此操作,请执行以下操作:

类型执行脚本

如果要将命令保存到文件:

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

备份权限管理程序其他地方。然后将 txt.bat 重命名为权限管理程序并执行执行脚本 然后当你跑执行脚本所有命令将以纯文本形式显示全部.txt。然后,如果需要,您可以将结果复制并粘贴到 Excel 中。

相关内容