Powershell 问题:尝试 运行 非管理用户的安装脚本

Powershell Issue: Trying to run an install script for a non administrative user

假设我有一个脚本:安装。ps1

作为管理员,我希望能够 运行 指定用户的脚本: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