I have a powershell script (.ps1) that I am telling TeamCity to run in order to deploy some applications.
The problem is, when TeamCity executes the script, some Modules aren't available.
Teamcity is invoking powershell from here:
C:\Windows**SysWOW64**\WindowsPowerShell\v1.0\powershell.exe
But it should be invoking powershell from here:
C:\Windows**System32**\WindowsPowerShell\v1.0\powershell.exe
Either way the script is invoked, it still looks for modules in the same directory, but for some reason it doesn't work when invoked from SysWOW64
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
PS C:\Users\Administrator.WTLDMZ> C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File C:\BuildScripts\ExampleFail.ps1 Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest ADRMS {Update-ADRMS, Uninstall-ADRM... Manifest AppLocker {Set-AppLockerPolicy, Get-App... Manifest BestPractices {Get-BpaModel, Invoke-BpaMode... Manifest BitsTransfer {Add-BitsFile, Remove-BitsTra... Manifest CimCmdlets {Get-CimAssociatedInstance, G... Script ISE {New-IseSnippet, Import-IseSn... Manifest Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, I... Manifest Microsoft.PowerShell.Host {Start-Transcript, Stop-Trans... Manifest Microsoft.PowerShell.Management {Add-Content, Clear-Content, ... Manifest Microsoft.PowerShell.Security {Get-Acl, Set-Acl, Get-PfxCer... Manifest Microsoft.PowerShell.Utility {Format-List, Format-Custom, ... Manifest Microsoft.WSMan.Management {Disable-WSManCredSSP, Enable... Script PSDiagnostics {Disable-PSTrace, Disable-PSW... Binary PSScheduledJob {New-JobTrigger, Add-JobTrigg... Manifest PSWorkflow {New-PSWorkflowExecutionOptio... Manifest PSWorkflowUtility Invoke-AsWorkflow Manifest ServerManager {Get-WindowsFeature, Add-Wind... Manifest TroubleshootingPack {Get-TroubleshootingPack, Inv... Manifest WebAdministration {Start-WebCommitDelay, Stop-W... Script Wtl-Deploy {Wtl-Deploy-CheckDirectory, W... Script Wtl-F5 {Add-F5.LTMPoolMember, Add-F5... Script Wtl-Remote {Wtl-Remote-DoRemotely, Wtl-R... C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
PS C:\Users\Administrator.WTLDMZ> C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -File C:\BuildScripts\ExampleFail.ps1 Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest BitsTransfer {Add-BitsFile, Remove-BitsTra... Manifest CimCmdlets {Get-CimAssociatedInstance, G... Script ISE {New-IseSnippet, Import-IseSn... Manifest Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, I... Manifest Microsoft.PowerShell.Host {Start-Transcript, Stop-Trans... Manifest Microsoft.PowerShell.Management {Add-Content, Clear-Content, ... Manifest Microsoft.PowerShell.Security {Get-Acl, Set-Acl, Get-PfxCer... Manifest Microsoft.PowerShell.Utility {Format-List, Format-Custom, ... Manifest Microsoft.WSMan.Management {Disable-WSManCredSSP, Enable... Script PSDiagnostics {Disable-PSTrace, Disable-PSW... Binary PSScheduledJob {New-JobTrigger, Add-JobTrigg... Manifest TroubleshootingPack {Get-TroubleshootingPack, Inv... Manifest WebAdministration {Start-WebCommitDelay, Stop-W...