PowerShell Script Producing Different Results - VisualCron - Forum

Community forum

Sean Smith
I am at a loss on this.

PowerShell Scripts --> will set variables for username/passwords, data locations, log locations, log file names, etc. What is strange, when I run the script via PowerShell, it produces all of the files I am expecting to see. It will produce .log and .csv files based on the code. However, when I run the script via VisualCron 9.9.8, the script produces only the .log files and NOT the .csv files.

Does Visual Cron have issue with utilizing a piped call to "Export-CSV" (example: $snapsremove | Export-Csv $filelocation4 -NoTypeInformation)?

The way the script is constructed...I am unsure if it is actually running correctly. Any hints on how to vet this out? I may try support as well to see if there are any got-cha's I am missing.
Are the powershell version the same on the VC server and your local computer (if that is wehere you tested) ? Some features of Export-csv are only available on vertain PS vesions. You can check by running $PSVersionTable
Sean Smith
This is the server where i can run in PS and it exports without issue. Only when executed in VC does it not produce CSVs.
$PSVersionTable from the server running visual cron. This is where i am running the script from PS...
Name Value
---- -----
PSVersion 5.1.17763.2931
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.2931
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
Sean Smith
Per support, I attempted to create an "Execute" task instead of a "PowerShell" task. Results --> no difference. The script will only produce .log file when executed within VC. I am hoping i don't have to re-create it...but...if certain modules or commands are not fully functional, i guess i will have no choice. Any other suggestions out there? I can provide code example if that would be helpful.

2022-06-23 10_58_01-Window.png
Sean Smith
I am thinking this is my hang up...

# vCenter logins and path to list of names
$appliance = Get-Content -Path "$DataLocation\vcsa.txt"
$user = "administrator@vsphere.local"
$pass = Get-Content -Path "$DataLocation\vcsa_pass.txt" | ConvertTo-SecureString
$mycredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user, $pass

When i run this with the PowerShell task type or the Execute task type, it doesn't like the crypto...
2022-06-23 11_29_05-Window.png

I think i will have to re-think how we do this and re-work it a bit...unless someone has a brilliant idea out there?
Sean Smith
I think I got it!

Site that triggered an “ah ha”…

You have to create the password string on the same computer and with the same login that you will use to run it.

I regenerated the secure password files with the same account that is running the job. All good now!
Scroll to Top