Batch file 以登录用户身份在远程计算机上运行批处理文件

Batch file 以登录用户身份在远程计算机上运行批处理文件,batch-file,powershell,browser-cache,psexec,Batch File,Powershell,Browser Cache,Psexec,我正在尝试在Powershell中使用以下脚本清除远程计算机的IE缓存 $computer=读取主机“计算机名” psexec\\$computer-i 0 cmd/c RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351 它在远程计算机上运行(用户可以看到它正在运行),但不清除登录用户的缓存 我还尝试将包含命令RunDll32.exe InetCpl.cpl、ClearMyTracksByProcess 4351的批处理文件复制到登录用户的桌

我正在尝试在Powershell中使用以下脚本清除远程计算机的IE缓存

$computer=读取主机“计算机名”
psexec\\$computer-i 0 cmd/c RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351

它在远程计算机上运行(用户可以看到它正在运行),但不清除登录用户的缓存

我还尝试将包含命令
RunDll32.exe InetCpl.cpl、ClearMyTracksByProcess 4351
的批处理文件复制到登录用户的桌面上,然后运行它

$computer=读取主机“计算机名”
$user=读取主机“用户ID”
复制C:\test.bat\\$computer'\C$\Documents and Settings\'$user'\Desktop'
PsExec\\$computer-i 0 cmd/c“c:\Documents and Settings\$user\Desktop\test.bat”

还是没有快乐

如果用户自己运行批处理文件,则会清除其缓存

我只是想远程清除登录用户的IE缓存

我们将非常感谢您的帮助

干杯


Ronnie

在不知道用户密码的情况下模拟用户是非常困难的(想象一下安全隐患吧!)。根据我的经验,使用组策略将其作为登录或注销脚本运行更容易。

如果使用任务计划程序作为目标用户调用批处理,会发生什么情况?感谢您的回复@Koliat。我以前从未尝试过,但会尝试在互联网上搜索。干杯你试过其他问题的答案吗?是的我也试过。。没有快乐!我尝试使用任务调度器,但需要用户名和密码。我假设一件事:Rundll32.exe和InetCpl正在查找进程所有者的用户上下文。使用PsExec,您将使用自己的模拟会话而不是控制台主机调用进程。你能在实践中证实这一点吗?使用自己的会话连接到RDP,浏览internet,然后远程调用进程,查看它是否清除缓存。我不确定使用内置DLL手动删除缓存和历史文件(选项8)的“优势”,但仍然可以使用删除项或批量执行“删除”来清除缓存?