Iis 导入CSV foreach循环进程
我正在处理一个问题,但语法似乎不正确 我有一个目录,其中包含一系列csv文件,每个文件都包含一个虚拟目录列表和来自旧IIS6机器的路径。我正在一台新的IIS7.5机器上重新创建它们,通过转到目录“iis:\sites\Atlanta”并运行此命令,我可以一次将它们添加到一个目录中Iis 导入CSV foreach循环进程,iis,powershell,foreach,Iis,Powershell,Foreach,我正在处理一个问题,但语法似乎不正确 我有一个目录,其中包含一系列csv文件,每个文件都包含一个虚拟目录列表和来自旧IIS6机器的路径。我正在一台新的IIS7.5机器上重新创建它们,通过转到目录“iis:\sites\Atlanta”并运行此命令,我可以一次将它们添加到一个目录中 Import-Csv C:\Users\MIGXHZ700\Desktop\Atlanta.csv | Where-Object {$_.Path -match "\\"} | ForEach-Object {New-
Import-Csv C:\Users\MIGXHZ700\Desktop\Atlanta.csv | Where-Object {$_.Path -match "\\"} | ForEach-Object {New-Item $_.Name -Type VirtualDirectory -physicalPath $_.Path}
就我个人而言,我无法在脚本中使用正确的语法来运行它。我认为这只是连接的问题,但我不是100%确定。这就是我的剧本
$dirs = ls C:\Users\[blah]\Desktop\*.csv | foreach-object {
Import-Csv $_ |
Where-Object {$_.Path -match "\\"} |
ForEach-Object {New-Item 'IIS:\Sites\'+$_.Name -Type VirtualDirectory -physicalPath $_.Path}
}
在Foreach内部执行Foreach可能也是一个问题
提前感谢您的帮助。
'IIS:\Sites\'+$\uName
不是新项目的有效参数,因为-Path参数采用字符串参数,但这是一个表达式。它是一个表达式,计算结果为一个字符串,表示要创建的项的路径,但需要将其括在括号中进行计算:
New-Item ('IIS:\Sites\' + $_.Name) -Type VirtualDirectory -PhysicalPath $_.Path
顺便问一下,你对$dirs的打算是什么?它将被分配New Item命令的输出,这将是一个DirectoryInfo对象数组(与创建所有这些目录后从
$dirs=get ChildItem IIS:\Sites\
获得的结果相同)。这就是你想要的吗?你能发布一个CSV文件的副本吗?只需前五行或六行就可以了。是的,我将使用$dirs来做一些超出本文范围的事情。