'PowerShell function to check the health of remote disks not actually remoting

I am trying to use a script to check the health of physical disks on Lenovo computers utilizing the storcli tool. I found this and have tried to modify it to be a function and allow the input of remote computers and eventually use Get-Content to input a server list. For whatever reason it takes the computer input from -ComputerName but does not actually run the commands on the remote computer. It seems to just read the disks on the local machine and always reports back "Healthy" while I know there are bad disks on the remote machine. Also I have run the script on the machine with the bad disks and it does work and reports the disk as failed. Could anyone offer any insight into what I am missing for this to actually check the remote machines? Remoting is enabled as I can run other scripts without issue. Thank you in advance.

Function Get-DriveStatus {
[cmdletbinding()]
param(
    [string[]]$computername = $env:computername,
    [string]$StorCLILocation = "C:\LenovoToolkit\StorCli64.exe",
    [string]$StorCliCommand = "/c0/eall/sall show j"
)

foreach ($computer in $computername) {
try {
    $ExecuteStoreCLI = & $StorCliLocation $StorCliCommand | out-string
    $ArrayStorCLI= ConvertFrom-Json $ExecuteStoreCLI
}catch{
    $ScriptError = "StorCli Command has Failed: $($_.Exception.Message)"
    exit
}

foreach($PhysicalDrive in $ArrayStorCLI.Controllers.'Response Data'.'Drive Information'){
    if(($($PhysicalDrive.State) -ne "Onln") -and ($($PhysicalDrive.State -ne "GHS"))) {
        $RAIDStatus += "Physical Drive $($PhysicalDrive.'DID') With Size $($PhysicalDrive.'Size') is $($PhysicalDrive.State)`n"
    }
}
#If the variables are not set, We’re setting them to a “Healthy” state as our final action.
if (!$RAIDStatus) { $RAIDStatus = "Healthy" }
if (!$ScriptError) { $ScriptError = "Healthy" }

if ($ScriptError -eq "Healthy")
{
    Write-Host $computer $RAIDStatus
}
else
{
    Write-Host $computer "Error: ".$ScriptError
}
}#End foreach $computer
}#End function
$RAIDStatus = $null
$ScriptError = $null


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source