Powershell 从2个csv文件复制GPO循环问题

Powershell 从2个csv文件复制GPO循环问题,powershell,Powershell,我有两个csv文件,一个是Win7 GPOs显示名,另一个是Win10显示名。我想循环两个csv,以便将GPO设置从Win7复制到新的Win10显示名GPO。当我运行我的循环时,它将相同的第一个win7 GPO应用于所有新的Win10 GPO,然后第二个等等。。。我环顾四周,但似乎找不到小费。任何帮助都将不胜感激 import-module grouppolicy import-module activedirectory $Win7GPOPath = "c:\temp\copyWin7GPO

我有两个csv文件,一个是Win7 GPOs显示名,另一个是Win10显示名。我想循环两个csv,以便将GPO设置从Win7复制到新的Win10显示名GPO。当我运行我的循环时,它将相同的第一个win7 GPO应用于所有新的Win10 GPO,然后第二个等等。。。我环顾四周,但似乎找不到小费。任何帮助都将不胜感激

import-module grouppolicy
import-module activedirectory

$Win7GPOPath = "c:\temp\copyWin7GPOs.csv"
$Win10GPOPath = "c:\temp\copyWin10GPOs.csv"

$7GPO = @{}
$10GPO = @{}

$Win7GPO = import-csv $Win7GPOPath
$Win10GPO = import-csv $Win10GPOPath

ForEach($7GPO in $Win7GPO) {


    ForEach($10GPO in $Win10GPO) {

    Write-Output "Copy-GPO -SourceName $7GPO -TargetName $10GPO"
          }
    }

如果您的CSV文件包含完全相同的行数,并且一个文件中的每一行对应于另一个文件中的相同行数,则可以使用一个
进行
循环

import-module grouppolicy
import-module activedirectory

$Win7GPOPath = "c:\temp\copyWin7GPOs.csv"
$Win10GPOPath = "c:\temp\copyWin10GPOs.csv"

$7GPO = @{}
$10GPO = @{}

$Win7GPO = import-csv $Win7GPOPath
$Win10GPO = import-csv $Win10GPOPath

for ($i = 0; $i -lt $Win7GPO.count; $i++) {
   Copy-GPO -SourceName $Win7GPO[$i] -TargetName $Win10GPO[$i]
}

如果CSV文件包含一个头文件,您将需要引用该头文件属性,如
$Win7GPO[$i]。属性

哇,非常感谢AdmonOfThings为您提供的见解:-)非常感谢:-)我将进入for循环。祝你有愉快的一天:-)