gpt4 book ai didi

带参数的 Powershell 函数抛出空异常

转载 作者:行者123 更新时间:2023-12-03 12:33:15 27 4
gpt4 key购买 nike

这个脚本抛出了一个空异常,我不确定为什么会这样......

Function StopServices{    
Param
(
$ServiceName,
$Remoteserver
)
write-host($Remoteserver)
write-host($ServiceName)
[System.ServiceProcess.ServiceController]$service = Get-Service -Name $ServiceName -ComputerName $Remoteserver
}

写主机写入变量。 Get-Service -ComputerName 方法抛出此异常:
powershell cannot validate argument on parameter 'computername' the argument is null or empty

我想知道他们在说什么,两者都不是空的......
StopServices("DUMMY","VALUES")

这两个都不是空的。为什么会抛出那个异常?

最佳答案

与大多数语言不同,PowerShell 不使用括号来调用函数。

这意味着三件事:

  • ("DUMMY","VALUES")实际上被解释为一个数组。换句话说,你只给 StopServices一个参数而不是它需要的两个参数。
  • 这个数组被分配给 $ServiceName .
  • 由于缺乏论据,$Remoteserver被分配为空。


  • 要解决问题,您需要调用 StopServices像这样:
    PS > StopServices DUMMY VALUES

    关于带参数的 Powershell 函数抛出空异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21055157/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com