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?