PowerShell job failing after upgrading agent - System.OutOfMemoryException
search cancel

PowerShell job failing after upgrading agent - System.OutOfMemoryException


Article ID: 253959


Updated On:


CA Automic Workload Automation - Automation Engine CA Automic One Automation


Running a PowerShell script via Automic Automation agent throws the following error

:\>powershell.exe -ExecutionPolicy Bypass -Command "H:\MSSQL2016\MSSQL`$DEFAULT\RDM_Automation\Scripts\FinancialAccount_FormatFile_SAPECC.ps1" Get-Content : Exception of type 'System.OutOfMemoryException' was thrown.At H:\MSSQL2016\MSSQL$DEFAULT\RDM_Automation\Scripts\FinancialAccount_FormatFile_SAPECC.ps1:7 char:17+ $fileContents = Get-Content -path $filepath+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : NotSpecified: (:) [Get-Content], OutOfMemoryException    + FullyQualifiedErrorId : System.OutOfMemoryException,Microsoft.PowerShell.Commands.GetContentCommand 


This had been previously working as expected.


Release : 12.3.x, 21.0.x


This happens when trying to read a file larger than the default memory settings for PowerShell.
The default memory is 150MB.


To find the current PowerShell memory setting, run the following command in an elevated (Run As Administrator) PowerShell command prompt:

Get-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB

To change the value to 4G, for example, you would run

Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB 4096

Then restart WSMan using

Restart-Service winrm 

Additional Information

If the following error is returned when running the Get-Item command:

Start WinRM Service
WinRM service is not started currently. Running this command will start the WinRM service.

Do you want to continue?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): 
The client cannot connect to the destination specified in the request.

Just run:

Restart-Service winrm 

and then run the Get-Item command again.