Powershell
從 Windows 上的 Jenkins 執行時,Get-DscResource 未返回完整列表
我有一個 Windows Server 2016 Jenkins 建構框。我想在 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, ...
從 Jenkins 作業執行時為什麼 Get-DscResource 找不到 xHyper-V 模組的任何想法?
以 64 位執行 Jenkins 解決了這個問題。
見https://stackoverflow.com/a/34030153/38211
感謝 ck 在 sqlcommunity.slack.com 上的幫助