脚本编写新手



我有两个命令必须在CMD中运行。我还需要远程运行它们。我也会将.bat文件添加到远程计算机的C:\中。这实际上是对Windows 7到10 1809迁移的修复,如果有人想知道的话,它会破坏Office中受保护的视图。

icacls "C:WindowsSysWOW64msvcp140.dll" /grant *S-1-15-2-1:(OI)(CI)RX
icacls "C:WindowsSysWOW64vcruntime140.dll" /grant *S-1-15-2-1:(OI)(CI)RX

这是我第一次尝试自己创建蝙蝠文件时想到的。我对这件事很陌生,这几乎很尴尬,但你必须从某个地方开始。

c:
cd C:WindowsSysWOW64
start cmd.exe /k icacls "C:WindowsSysWOW64msvcp140.dll" /grant *S-1-15-2-1:(OI)(CI)RX
start cmd.exe /c icacls "C:WindowsSysWOW64vcruntime140.dll" /grant *S-1-15-2-1:(OI)(CI)RX
pause

这也必须以管理员身份运行。

我能想到的一个解决方案是使用SysInternal Suite中的PsExec。你提到试图以管理员身份从远程位置运行命令行命令,所以这就是我建议它的原因。你可以使用它远程运行icacls命令或其他命令。

以下是一些关于PsExec:的文档链接

Microsoft文档
ss64文档

还有一个链接,链接到Mark Russinovich(Sysinternals Creator(写的一篇关于使用PsExec:的文章

PsExec文章

现在为您的特定需求使用:

psexec -accepteula \[IP Address or Hostname] -u [domainusername] -p [Password] cmd.exe

填写选项的示例:

psexec -accepteula \192.168.1.3 -u win7bob -p P@ssword cmd.exe

此命令将允许您在要执行icacls命令的计算机上打开远程命令shell。从那里,您只需像坐在远程机器上一样运行icacls命令。我建议阅读提供的链接,了解每个交换机的功能。

或者您可以尝试这样做,它将以上内容与您的icacls命令结合起来,并一次执行所有命令。我还没有测试下面的命令,但它应该可以工作。顺便说一句,这都是一个命令,所以请确保它被复制为一行。

psexec -accepteula \[IP Address or Hostname] -u [User] -p [Password] cmd /c "icacls "C:WindowsSysWOW64msvcp140.dll" /grant *S-1-15-2-1:(OI)(CI)RX & icacls "C:WindowsSysWOW64vcruntime140.dll" /grant *S-1-15-2-1:(OI)(CI)RX"

我知道这不是一个批处理脚本,但它可以帮助完成你想做的事情

相关内容

最新更新