【发布时间】:2016-09-28 15:41:47
【问题描述】:
我一直在研究一个小型的、可重新部署的 .ps1 脚本,该脚本将用于自动清除最终用户的打印假脱机程序和打印队列,并在未来实现更多功能。这是一些需要提升的命令的 sn-p。
net stop spooler
Remove-Item C:\Windows\System32\spool\PRINTERS\* -Force
net start spooler
为了在最终用户的计算机上成功运行此脚本,我创建了一个类似这样的 Powershell 凭据对象。 (管理员凭据是否为明文并不重要,因为它是通过 RMM 在后台执行的)。
$password = "adminpassword" | ConvertTo-SecureString -asPlainText -Force
$username = "adminusername"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
但是,当我尝试像这样使用新创建的变量运行任何命令时,
net stop spooler -credential $credential
我遇到了某种复杂情况,例如 PS 窗口只返回命令的语法,而不是实际运行它。我在 Powershell 自动化方面相对缺乏经验;如果有人可以提供一个解决方案,说明如何最好地将新制作的凭证对象集成到我的脚本中,以便它可以在整个提升权限的情况下运行,我们将不胜感激。
【问题讨论】:
标签: powershell authentication scripting automation