将 Start-Process / Start-Job cmdlet 与 -Credential $cred 一起使用时,我无处可去
问题
我在部署中使用了一个服务帐户(无人值守模式)。以前它已添加到本地管理员组。我想通过从管理员组中删除该用户并明确分配文件夹权限给该用户来减少可能造成的损害。
- 我宁愿得到一个权限错误,也不愿执行一些意外的事情。删除项目 "$notdefined\*"
但是,在同一个 powershell 脚本中,我希望能够提升以执行以下操作:
- sc.exe
- 需要管理员用户的应用程序池重启。
我失败的尝试之一
$job = Start-Job -ScriptBlock {
param(
[string]$myWebAppId
)
Import-Module WebAdministration
Write-Host "Will get the application pool of: IIS:\Sites\$myWebAppId and try to restart"
$appPoolName = Get-ItemProperty "IIS:\Sites\$myWebAppId" ApplicationPool
Restart-WebAppPool "$($appPoolName.applicationPool)"
Write-Host "restart of apppool succeeded."
} -Credential $cred -ArgumentList @("appname")
Write-Host "started completed"
Wait-Job $job
Write-Host "wait completed"
Receive-Job $job -Verbose
Write-Host "receive completed"