0

我是我公司的桌面支持技术人员,我们经常执行大量重复性故障排除,例如从 C\windows\temp、本地 appdata 临时文件夹以及 google 和 IE 缓存/清除临时文件和缓存饼干。我正在编写一个 powershell 脚本来一次性完成这一切,它完成了它应该做的事情。唯一的问题是,当我在用户的计算机上时,我必须首先实际访问 windows temp 和本地 appdata 文件夹,然后运行脚本才能使其工作。我相信这是因为这两个文件夹需要管理员权限才能进入。由于我是管理员,因此我可以很好地访问文件夹,但是我无法找到要插入的代码以允许 powershell 脚本访问这些文件夹。笔记:我在脚本的开头确实有一个命令以管理员身份启动 powershell,但这似乎还不够。我的代码在下面,对此的任何见解都会很棒。(看起来我在代码中的评论标签把评论变成了粗体,道歉)

# Runs the below script with PowerShell in Admin mode
Start-Process "$psHome\powershell.exe" -verb runas -ArgumentList "-file fullpathofthescript"

# Clears google chrome cache
Remove-Item -Path "C:\Users\*\AppData\Local\Google\Chrome\User Data\Default\Cache\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears IE cookies
Remove-Item -Path "C:\Users\*\AppData\Roaming\Microsoft\Windows\Cookies\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears the "windows\temp" folder
Remove-Item -Path "C:\Windows\Temp\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue

# Clears the user's local temp folder
Remove-Item -Path "C:\Users\*\AppData\Local\Temp\*" -verb runas -Recurse -Force -ErrorAction SilentlyContinue"
4

1 回答 1

0

您可以使用该-Credential参数提示输入本地管理员凭据,这应该允许您在该C:\Windows\*位置删除,假设 ACL 没有被弄乱。

Remove-Item -Path "C:\Windows\Temp\*" -Credential (Get-Credential) -Recurse -Force -ErrorAction SilentlyContinue

放入ErrorAction也会阻止您看到以下错误。

Remove-Item : A positional parameter cannot be found that accepts argument 'runas'.
于 2019-06-21T02:42:16.173 回答