【问题标题】:Run code as different user to have elevated privileges以不同用户身份运行代码以获得提升的权限
【发布时间】:2016-10-03 21:52:27
【问题描述】:

我正在部署一个监控系统,尽管它有大量的插件,但有些需要以不同的用户身份运行才能正常运行。

所以我切换到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

【问题讨论】:

    标签: powershell credentials


    【解决方案1】:
    $args = ' -file path-to-script.ps1'
    Start-Process -FilePath powershell.exe -Credential $creds -ArgumentList $args -Verb RunAs
    

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

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      相关资源
      最近更新 更多