如何解决Powershell 问题:尝试为非管理用户运行安装脚本
作为管理员,我希望能够为指定用户运行此脚本:joe.smith
Joe.smith 不是管理员。 所有这些都应该在本地主机上完成,不需要远程到另一台计算机。
我尝试过的事情:
new-pssession localhost -credential SSN314\joe.smith
错误:new-pssession : [localhost] 连接到远程服务器 localhost 失败并显示以下错误消息:访问是 否认。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
我也试过:
$username = "joe.smith"
$password = "pass"
$secstr = New-Object -TypeName System.Security.securestring
$password.tochararray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username,$secstr
Invoke-Command -FilePath "C:\dir\Install.ps1" -Credential $cred -ComputerName "."
Joe.smith 不是管理员,这就是为什么我认为我收到访问被拒绝错误。
joe.smith 是域帐户。
joe.smith 在我运行以下命令时拥有完全控制权:Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft.Powershell 命令
感谢任何帮助。
解决方法
我所看到的问题是您正在尝试远程连接到本地 PC。您应该可以改用 Start-Process
。
Start-Process powershell.exe -ArgumentList "-file","C:\dir\Install.ps1" -Credential $cred
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。