Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Powershell中的foreach和scriptblock内部递增_Powershell_Foreach_Increment_Start Job_Scriptblock - Fatal编程技术网

在Powershell中的foreach和scriptblock内部递增

在Powershell中的foreach和scriptblock内部递增,powershell,foreach,increment,start-job,scriptblock,Powershell,Foreach,Increment,Start Job,Scriptblock,我希望有人能发现错误: 这是一个较大脚本中的小函数 我希望它在每次迭代foreach时增加$I,但我无法让它工作。如果我只运行存在$I++的行,它将递增。 消息将到达用户,因此它工作正常,只是忽略了$i++ $i=0 功能信息{ 开始作业-名称Col01-初始化脚本{Import Module RemoteDesktop}-脚本块{$Users=Get-RDUserSession-ConnectionBroker$ActiveConnectionBroker-CollectionName“Col

我希望有人能发现错误:

这是一个较大脚本中的小函数

我希望它在每次迭代
foreach
时增加
$I
,但我无法让它工作。如果我只运行存在
$I++
的行,它将递增。 消息将到达用户,因此它工作正常,只是忽略了
$i++

$i=0
功能信息{
开始作业-名称Col01-初始化脚本{Import Module RemoteDesktop}-脚本块{$Users=Get-RDUserSession-ConnectionBroker$ActiveConnectionBroker-CollectionName“Col01”
foreach($Users中的用户){
发送RDUserMessage-UnifiedSessionID$User.UnifiedSessionID-HostServer$User.HostServer-MessageTitle“Info”-MessageBody$使用:message
$i++
}
}

您有两个同名的变量“$i”

其中一个是全球的,第二个是本地的

下面是一个示例,它显示了正在发生的事情以及如何从函数内部更改全局变量(当您指定范围限定符时):

$i=777
写入输出“外部i:$i”
做什么{
$i=41
对于($z=0;$z-lt 10;$z++){
$global:i++
$i++
写入输出“内部i:$i$global:i”
}
}
做点什么
写入输出“i:$i”
下面是由上述代码生成的输出

outside i: 777
inside i: 42 778
inside i: 43 779
inside i: 44 780
inside i: 45 781
inside i: 46 782
inside i: 47 783
inside i: 48 784
inside i: 49 785
inside i: 50 786
inside i: 51 787
outside i: 787


看一看

,但我如何更新全球$i并不重要,我只是不想更新