When I try to run PS script from PHP on AWS it is working fine and returning correct response, But When I try to run that script from PHP on Azure it returns an empty response. Same codebase and same Powershell version is used on both servers, I am using shell exec() function to run powershell script on PHP Version 7.0.30 and Powershell version V1.0 Using Managedpipeline Mode in IIS is Integrated and Process Model Identity is ApplicationPoolIdentity.
Here is PHP code to run the power shell script.
$cmd = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File '.$scriptPath.' "'.PARAM1.'" "KEY_FILE_PATH" "'.SCRIPT NAME.'" "'.USERNAME.'"'.' "'.PASSWORD.'"';
$output = shell_exec($cmd);
Here is the Powershell script code which I am trying to execute from above command.
param($server,$keypath,$scriptname,$username,$password,$distro,$vncport)
Import-Module -Name C:\Posh-SSH
$pass="temp123"
$passenc = $pass | ConvertTo-SecureString -AsPlainText -Force
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist "ubuntu",$passenc
$ssh = New-SSHSession -ComputerName $server -KeyFile $keypath -AcceptKey -Credential $credentials
$ret = $(Invoke-SSHCommand -SSHSession $ssh -Command "/home/ubuntu/$scriptname $username $password $distro $vncport" -Timeout 300).Output
$ret
Remove-SSHSession -SSHSession $ssh | Out-Null