Powershell function with Parameters throwing null exception

powershell

Solution

Unlike most languages, PowerShell does not use parenthesis to call a function.

This means three things:

`("DUMMY","VALUES")` is actually being interpreted as an array. In other words, you are only giving `StopServices` one argument instead of the two that it requires.

This array is being assigned to `$ServiceName`.

Due to the lack of arguments, `$Remoteserver` is assigned to null.

To fix the problem, you need to call `StopServices` like this:

PS > StopServices DUMMY VALUES

Problem

This script is throwing a null exception and I am not certain why that is the case... ``` Function StopServices{ Param ( $ServiceName, $Remoteserver ) write-host($Remoteserver) write-host($ServiceName) [System.ServiceProcess.ServiceController]$service = Get-Service -Name $ServiceName -ComputerName $Remoteserver } ``` the write-host writes the variable. The Get-Service -ComputerName method throws this exception: ``` powershell cannot validate argument on parameter 'computername' the argument is null or empty ``` I am wondering what they are talking about, Neither is empty... ``` StopServices("DUMMY","VALUES") ``` Neither of those are empty. Why is it throwing that exception?

Original source