Передать учетные данные в PowerShell Workflow - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть рабочий процесс powershell для удаленного запуска на серверах, но есть проблема с передачей учетных данных в рабочем процессе. Пароль должен быть от пользователя во время исполнения.

workflow Gethost{
    param(
        [string[]]$Servers
    )
   $credential = (Get-Credential)
    foreach -parallel ($server in $Servers) {
        $session = inlineScript{New-PSSession -ComputerName $using:server -Credential $using:credential} 
        $id = $session.id
        inlineScript{Invoke-Command -ComputerName $using:server -Credential $using:credential -Filepath C:\Checkhost.ps1}
        inlineScript {Exit-PSSession}
        inlineScript{Remove-PSSession -id $using:id}
    }
}

1 Ответ

0 голосов
/ 10 апреля 2019

Командлет Get-Credential нельзя использовать внутри рабочего процесса PowerShell.Только некоторый ограниченный набор командлетов может использоваться внутри рабочего процесса.Вы можете получить учетные данные снаружи и передать их с помощью параметра.

workflow Gethost{
    param(
        [string[]]$Servers,
        [PSCredential]$Credential
    )       
    foreach -parallel ($server in $Servers) {
    $session = inlineScript{New-PSSession -ComputerName $using:server -Credential $using:credential} 
    $id = $session.id
    inlineScript{Invoke-Command -ComputerName $using:server -Credential $using:credential -Filepath C:\Checkhost.ps1}
        inlineScript {Exit-PSSession}
        inlineScript{Remove-PSSession -id $using:id}
    }
}

См. здесь , чтобы узнать об ограничениях в Workflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...