У меня есть сборка Windows Server 2016 Jenkins. Я хочу запустить PowerShell в работе Дженкинса.
В качестве теста я поставил задачу сделать это в Execute Windows batch command
шаг сборки:
powershell -command Get-DscResource -module xhyper-v
Я получаю такой вывод:
D:\Jenkins\workspace\build-windows-server-2016-core>powershell -command Get-DscResource -module xhyper-v
WARNING: There are no modules present in the system with the given module specification.
Я даже попытался установить плагин PowerShell и запустить его на этапе сборки Powershell, и получил тот же результат.
Если я подключу RDP к коробке и войду в систему как учетная запись службы jenkins, открою окно cmd.exe и запущу powershell -command Get-DscResource -module xhyper-v
Я получаю такой вывод:
C:\Users\svc_jenkins>powershell -command get-dscresource -module xhyper-v
ImplementedAs Name ModuleName Version Properties
------------- ---- ---------- ------- ----------
PowerShell xVHD xHyper-V 3.6.0.0 {Name, Path, DependsOn, Ensure...}
PowerShell xVhdFile xHyper-V 3.6.0.0 {FileDirectory, VhdPath, CheckSu...
PowerShell xVMHyperV xHyper-V 3.6.0.0 {Name, VhdPath, DependsOn, Enabl...
PowerShell xVMSwitch xHyper-V 3.6.0.0 {Name, Type, AllowManagementOS, ...
Есть идеи, почему Get-DscResource не может найти модуль xHyper-V при запуске из задания Jenkins?
Запуск Jenkins в 64-разрядной версии решил проблему.
Видеть https://stackoverflow.com/a/34030153/38211
Благодаря помощи ck на sqlcommunity.slack.com