executar bloco de script como um usuário específico com o Powershell
Não estou chegando a lugar nenhum ao usar os cmdlets Start-Process / Start-Job com -Credential $ cred
ProblemaEu tenho um uso de conta de serviço na implantação (modo autônomo). Anteriormente, ele foi adicionado ao grupo de administradores locais. Quero reduzir o dano potencial que poderia causar removendo esse usuário do grupo de administradores e atribuir explicitamente permissões de pasta a esse usuário.
Eu prefiro ter um erro de permissão do que executar algo que está chegando por acidente. Remove-Item "$ não definido \ *"No entanto, neste mesmo script PowerShell eu quero ser capaz de elevar para executar coisas como:
sc.exereinicialização do pool de aplicativos que requer um usuário administrador.Uma das minhas tentativas fracassadas$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"