以不同用户身份运行代码以获得提升权限

时间:2016-10-03 21:52:28

标签: powershell credentials

我部署了一个监控系统,即使它有大量的插件,但有些需要作为不同的用户运行才能正常运行,所以我切换到PowerShell,问题是一样的,我有一些允许我访问被拒绝的代码,因为用户没有提升权限。 我的问题如何以不同的用户身份运行此代码,我试过这个

$usuario = "myuser@mydomain"
$pass = get-content C:\credential.txt`
$spass = $pass | Convertto-SecureString`
pass = "securepass"`
spass = $pass | ConvertTo-SecureString -AsPlainText -Force`
write-host $pass 
$cred = new-object System.Management.Automation.PSCredential -argumentlist $usuario, $spass

$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = ($UpdateSession.CreateupdateSearcher())
$Updates = $UpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0").updates
$total = $Updates | measure
$total.count

然后我怎样才能将信息传递给变量。 问题访问被拒绝来自这一行

$Updates = $UpdateSearcher.Search("IsAssigned=1 and IsHidden=0").updates

1 个答案:

答案 0 :(得分:0)

$args = ' -file path-to-script.ps1'
Start-Process -FilePath powershell.exe -Credential $creds -ArgumentList $args -Verb RunAs

Powershell还有-Command,您可以使用它来调用函数或cmdlet而不是其他脚本。