Happy New Years everyone!
I just got back into the swing of things after taking some much needed time off over the holiday break. While catching up on my email, I also re-visited one of my pet projects I had been working on right before the break. I needed to launch a specific PowerCLI script upon firstboot from a Linux system, specifically PhotonOS leveraging PowerCLICore. My first few attempts had failed and in troubleshooting the issue further, I found the following cryptic error message in the system logs:
The shell cannot be started. A failure occurred during initialization:
The type initializer for 'System.Management.Automation.ConfigPropertyAccessor' threw an exception.
After a bit of Googling, I found the following Github PR which seems to indicate that the HOME environmental variable may not properly configured or readable by Powershell. The quick fix was to simply define the HOME directory within the shell script that starts up the PowerCLI script.
Below is a snippet of what I needed to add to /etc/rc.d/rc.local to automatically run my PowerCLI script:
export HOME=/root /usr/bin/powershell -File /root/MyPowerCLI-Script.ps1
The following command was also useful in troubleshooting and verifying that my PowerCLI script had properly executed since there was no output in my script log:
journalctl --no-pager | grep rc.local