I am trying to run the below powershell script
The below script is being used to list local users in a VM
$subscriptions=Get-AzSubscription -SubscriptionId "##################"
foreach ($subscription in $subscriptions){
Select-AzSubscription -SubscriptionId $subscription.SubscriptionId
$instances=Get-AzVM -Status | Select-Object Name,PowerState,ResourceGroupName ,@{l='osType';e={$\_.StorageProfile.osDisk.osType}}
foreach ($instance in $instances){
Write-Host $instance.Name.Name
Write-Host $instance.osType
if($instance.osType -eq "Windows"){
Write-Host "Windows server"
if($instance.PowerState -eq "VM running"){
$users=Invoke-AzVMRunCommand -ResourceGroupName $instance.ResourceGroupName -Name $instance.Name -CommandId 'RunPowerShellScript' -ScriptPath 'C:\Users\tushar.raichand\Desktop\sample.ps1'
Write-Host $users
Write-Host "####################################################"
foreach($user in $users){
Write-Host $user
}
}
}
else{
if($instance.PowerState -eq "running"){
Write-Host "Linux server"
}
}
}
}
Sample.ps1 is as below
$output = Get-LocalUser
Write-Output $output
$output
The output i am getting for Invoke-AzVMRunCommand is
Microsoft.Azure.Commands.Compute.Automation.Models.PSRunCommandResult
Where as when i just run this command in console
Invoke-AzVMRunCommand -ResourceGroupName $instance.ResourceGroupName -Name $instance.Name -CommandId 'RunPowerShellScript' -ScriptPath 'C:\Users\tushar.raichand\Desktop\sample.ps1'
I am getting the users list.