Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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阵列或对象_Powershell - Fatal编程技术网

Powershell阵列或对象

Powershell阵列或对象,powershell,Powershell,我正在尝试对我的代码进行一些修饰(因此,我学到了一些东西) 我有一个非常直接的问题,我想用foreach循环来解决 但我对powershell的了解还不够,无法正确执行它 我有这篇课文 $gr0 = get-adgroup -Properties * -Filter "(Name -eq 'Division 0')" -SearchBase "OU=Groups,DC=solutions,DC=local"; $gr1 = get-adgroup -Properties * -Filter "(

我正在尝试对我的代码进行一些修饰(因此,我学到了一些东西)

我有一个非常直接的问题,我想用foreach循环来解决

但我对powershell的了解还不够,无法正确执行它

我有这篇课文

$gr0 = get-adgroup -Properties * -Filter "(Name -eq 'Division 0')" -SearchBase "OU=Groups,DC=solutions,DC=local";
$gr1 = get-adgroup -Properties * -Filter "(Name -eq 'Division 1')" -SearchBase "OU=Groups,DC=solutions,DC=local";
$gr2 = get-adgroup -Properties * -Filter "(Name -eq 'Division 2')" -SearchBase "OU=Groups,DC=solutions,DC=local";
然后,我用相同的代码对每组的结果运行一个循环

我想做的是

$groups[]=$gr0$gr1$gr2

foreach(groupin groups){do something;}

但我似乎能找到任何好的例子

任何帮助都会很好


谢谢

您是否在Powershell中查找
foreach
的语法?以下是一个例子:

foreach ($group in $groups) {
  do something;
}
编辑:以下是一种在循环中执行操作的方法:

$groups = @();
for($i=0; $i<=2; $i++) {
  $groups += get-adgroup -Properties * -Filter "(Name -eq 'Division $i')" -SearchBase "OU=Groups,DC=solutions,DC=local";
}
$groups=@();

对于($i=0;$i您是否在Powershell中查找
foreach
的语法?以下是一个示例:

foreach ($group in $groups) {
  do something;
}
编辑:以下是一种在循环中执行操作的方法:

$groups = @();
for($i=0; $i<=2; $i++) {
  $groups += get-adgroup -Properties * -Filter "(Name -eq 'Division $i')" -SearchBase "OU=Groups,DC=solutions,DC=local";
}
$groups=@();

对于($i=0;$i您是否在Powershell中查找
foreach
的语法?以下是一个示例:

foreach ($group in $groups) {
  do something;
}
编辑:以下是一种在循环中执行操作的方法:

$groups = @();
for($i=0; $i<=2; $i++) {
  $groups += get-adgroup -Properties * -Filter "(Name -eq 'Division $i')" -SearchBase "OU=Groups,DC=solutions,DC=local";
}
$groups=@();

对于($i=0;$i您是否在Powershell中查找
foreach
的语法?以下是一个示例:

foreach ($group in $groups) {
  do something;
}
编辑:以下是一种在循环中执行操作的方法:

$groups = @();
for($i=0; $i<=2; $i++) {
  $groups += get-adgroup -Properties * -Filter "(Name -eq 'Division $i')" -SearchBase "OU=Groups,DC=solutions,DC=local";
}
$groups=@();

对于($i=0;$i我认为您希望像这样将结果分组

$groups = @();
$groups += $gr0
$groups += $gr1
$groups += $gr2
您这样做很可能有其他原因,但也可以更新
-Filter
,使其在一个对象中返回

$groups = get-adgroup -Properties * -Filter "(Name -like 'Division*')" -SearchBase "OU=Groups,DC=solutions,DC=local" | Where-Object{$_.Name -match "Division [012]"}

-Filter
不支持匹配运算符。因此,请抓取所有以“除法”开头的运算符然后将它们导入
Where Object
中,以获得0,1,2等分的结果。根据您的需要,您可以完全省略
Where
子句。

我想您希望这样将结果分组在一起

$groups = @();
$groups += $gr0
$groups += $gr1
$groups += $gr2
您这样做很可能有其他原因,但也可以更新
-Filter
,使其在一个对象中返回

$groups = get-adgroup -Properties * -Filter "(Name -like 'Division*')" -SearchBase "OU=Groups,DC=solutions,DC=local" | Where-Object{$_.Name -match "Division [012]"}

-Filter
不支持匹配运算符。因此,请抓取所有以“除法”开头的运算符然后将它们导入
Where Object
中,以获得0,1,2等分的结果。根据您的需要,您可以完全省略
Where
子句。

我想您希望这样将结果分组在一起

$groups = @();
$groups += $gr0
$groups += $gr1
$groups += $gr2
您这样做很可能有其他原因,但也可以更新
-Filter
,使其在一个对象中返回

$groups = get-adgroup -Properties * -Filter "(Name -like 'Division*')" -SearchBase "OU=Groups,DC=solutions,DC=local" | Where-Object{$_.Name -match "Division [012]"}

-Filter
不支持匹配运算符。因此,请抓取所有以“除法”开头的运算符然后将它们导入
Where Object
中,以获得0,1,2等分的结果。根据您的需要,您可以完全省略
Where
子句。

我想您希望这样将结果分组在一起

$groups = @();
$groups += $gr0
$groups += $gr1
$groups += $gr2
您这样做很可能有其他原因,但也可以更新
-Filter
,使其在一个对象中返回

$groups = get-adgroup -Properties * -Filter "(Name -like 'Division*')" -SearchBase "OU=Groups,DC=solutions,DC=local" | Where-Object{$_.Name -match "Division [012]"}
-Filter
不支持匹配运算符。因此,抓取所有以“Division”开头的对象,并将它们导入
Where Object
,以获得仅为0,1,2的对象。您可以根据需要完全省略
Where
子句。

可能是这样吗

foreach ($groupname in 'Division 0','Division 1','Division 2')
 {
   $grp = get-adgroup -Properties * -Filter "Name -eq '$groupname'" -SearchBase "OU=Groups,DC=solutions,DC=local"
   do stuff with $grp
 }
对于马特:

$groupnames = 'Division 0','Division 1','Division 2'
$NameFilters = $groupnames -replace '^','(Name=' -replace '$',')'
$Filter = "'(|$NameFilters)'"

foreach ($grp in get-adgroup -Properties * -LDAPFilter $filter -SearchBase "OU=Groups,DC=solutions,DC=local")
 {
   do something with $grp...
  }
$filter将是每个组名的OR'd LDAP筛选器:

'(|(Name=Division 0) (Name=Division 1) (Name=Division 2))'
也许是这个

foreach ($groupname in 'Division 0','Division 1','Division 2')
 {
   $grp = get-adgroup -Properties * -Filter "Name -eq '$groupname'" -SearchBase "OU=Groups,DC=solutions,DC=local"
   do stuff with $grp
 }
对于马特:

$groupnames = 'Division 0','Division 1','Division 2'
$NameFilters = $groupnames -replace '^','(Name=' -replace '$',')'
$Filter = "'(|$NameFilters)'"

foreach ($grp in get-adgroup -Properties * -LDAPFilter $filter -SearchBase "OU=Groups,DC=solutions,DC=local")
 {
   do something with $grp...
  }
$filter将是每个组名的OR'd LDAP筛选器:

'(|(Name=Division 0) (Name=Division 1) (Name=Division 2))'
也许是这个

foreach ($groupname in 'Division 0','Division 1','Division 2')
 {
   $grp = get-adgroup -Properties * -Filter "Name -eq '$groupname'" -SearchBase "OU=Groups,DC=solutions,DC=local"
   do stuff with $grp
 }
对于马特:

$groupnames = 'Division 0','Division 1','Division 2'
$NameFilters = $groupnames -replace '^','(Name=' -replace '$',')'
$Filter = "'(|$NameFilters)'"

foreach ($grp in get-adgroup -Properties * -LDAPFilter $filter -SearchBase "OU=Groups,DC=solutions,DC=local")
 {
   do something with $grp...
  }
$filter将是每个组名的OR'd LDAP筛选器:

'(|(Name=Division 0) (Name=Division 1) (Name=Division 2))'
也许是这个

foreach ($groupname in 'Division 0','Division 1','Division 2')
 {
   $grp = get-adgroup -Properties * -Filter "Name -eq '$groupname'" -SearchBase "OU=Groups,DC=solutions,DC=local"
   do stuff with $grp
 }
对于马特:

$groupnames = 'Division 0','Division 1','Division 2'
$NameFilters = $groupnames -replace '^','(Name=' -replace '$',')'
$Filter = "'(|$NameFilters)'"

foreach ($grp in get-adgroup -Properties * -LDAPFilter $filter -SearchBase "OU=Groups,DC=solutions,DC=local")
 {
   do something with $grp...
  }
$filter将是每个组名的OR'd LDAP筛选器:

'(|(Name=Division 0) (Name=Division 1) (Name=Division 2))'

实际上我在看如何正确加载数组,这样foreach将步进到每个数组实际上我在看如何正确加载数组,这样foreach将步进到每个数组实际上我在看如何正确加载数组,这样foreach将步进到每个数组实际上我在看如何正确加载数组,这样foreach将步进到每个数组一我打算用这个来编辑我的帖子。我认为一个过滤器会更好。但是如果组之间没有关系,这会更好。留下了一个从任意名称集合创建过滤器的示例。我打算用这个来编辑我的帖子。我认为一个过滤器会更好。但是如果e是组之间没有关系这更好。留下了一个从任意名称集合创建筛选器的示例。我打算用这个来编辑我的帖子。我认为单个筛选器会更好。但是,如果组之间没有关系,这更好。留下了一个从集合创建筛选器的示例任意名称的集合。我打算用这个来编辑我的帖子。我认为单个筛选器会更好。但是,如果组之间没有关系,这会更好。留下了一个从任意名称集合创建筛选器的示例。