Результат Powershell не тот же, если выполнить Ansible - PullRequest
0 голосов
/ 12 апреля 2020

При выполнении playbook из Ansible tower результат powershell не такой, как ожидалось.

playbook,

- name: Execute powershell.
  win_shell: powershell.exe -file C:\Users\abcdef\Desktop\user_test.ps1 {{ user }}
  register: res

- debug: msg="{{ res }}"

сценарий powershell,

$user=$args[0]

Try {
    Get-CdmUserProfile -User $user
}
Catch {
    Write-Host "The user - $user are not exist."
    return
}

Это странно, когда я запускаю powershell с Windows самого сервера, например,

powershell.exe -file C: \ Users \ abcdef \ Desktop \ user_test.ps1 abcdef@ab.cd.com

это успешно с выходным успехом, так как указывают информацию о пользователе,

Однако, если выполнить с помощью Ansible, он выводится непосредственно как

Пользователь - abcdef@ab.cd.com не существует.

Кажется, он не может передать аргумент {{user}}, я также пытаюсь использовать "win_command", но результат тот же.

Нужна помощь, поскольку она уже застряла на несколько дней.

РЕДАКТИРОВАТЬ :: Я пытаюсь изменить книгу воспроизведения для непосредственного запуска команды,

- name: Execute Unix Login request script.
  win_shell: Get-CdmUserProfile -User abcdef@ab.cd.com
  register: res
- debug: msg="{{ res }}"

Тем не менее, по-прежнему получена ошибка, как показано ниже Ansible выход,

fatal: [server_name.ab.cd.com]: FAILED! => {
    "changed": true, 
    "cmd": "Get-CdmUserProfile -User abcdef@ab.cd.com", 
    "delta": "0:00:01.107571", 
    "end": "2020-04-12 07:36:43.844571", 
    "msg": "non-zero return code", 
    "rc": 1, 
    "start": "2020-04-12 07:36:42.736999", 
    "stderr": "Get-CdmUserProfile : 
          An operations error occurred.\r\n
          At line:1 char:65\r\n+ ... Text.UTF8Encoding $false; 
          Get-CdmUserProfile -User abcdef@ab.cd.com\r\n+                               
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n    
          + CategoryInfo          : NotSpecified: (:) 
          [Get-CdmUserProfile], Director \r\n   yServicesCOMException\r\n    + FullyQualifiedErrorId : 
          System.DirectoryServices.DirectoryServicesCOMExc \r\n   
          eption,Centrify.DirectControl.PowerShell.Commands.GetCdmUserProfile", 
    "stderr_lines": [
        "Get-CdmUserProfile : An operations error occurred.", …****
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...