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
假设我有一个脚本:安装。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