在避免使用PowerShell之后,只需编写一些基本脚本,我就会陷入困境。试图将多个参数传递给单个"参数"在函数中但它只会返回字符串
中的第一个值#--------------------------------
# Returns logged on user of machine(s) given in parameter
#--------------------------------
function Get-UserLogged{
param($computerName)
foreach ($computer in $computerName) {
return (query user /server:$computerName)
}
}
现在如果我调用该函数并运行例如......
Get-UserLogged Server01 Server02 Server03
它只返回服务器1的输出,所以似乎foreach没有按预期工作
不同的脚本相同的问题:
function p{
param($computerName)
foreach ($computer in $computerName) {
return (test-connection $computer -Count 1)
}
}
如果我跑:
p localhost, google.com, bbc.com
它只会尝试localhost
答案 0 :(得分:3)
您在循环内引用数组$computerName
,而不是“当前项目”,$computer
。
function Get-UserLogged{
param($computerName)
foreach ($computer in $computerName) {
query user /server:$computer
}
}
要将字符串数组传递给参数,请使用逗号分隔项目:
Get-UserLogged -computerName Server01, Server02, Server03