Powershell数组值,连接数据

时间:2013-08-07 18:13:28

标签: arrays powershell concatenation cifs

这是一个令人痛苦的问题,但是这里有。我正在创建一个powershell脚本来报告netapp上的文件管理器共享。我已经到了可以创建所有共享报告的地步,但我现在要做的是从CSV输出中获取我创建的数组并提取共享名值。但是我想在服务器名称“\ filer \”之前追加这个值,以便它创建一个UNC路径。

我打算查看UNC并使用它来生成有关文件管理器共享的信息。 NTFS权限,路径信息等等。

以下是代码:

$sharelist = Import-CSV z:\shares.csv
foreach ($item in $sharelist)
{
$sharelist += $item | add-member -name "Filer" -Value "\\<filername>\" -Membertype NoteProperty
}

这是创建一个数组,然后向数组中添加一个新属性以匹配我的UNC信息......

然后我运行一个select对象来清理输出:

$sharelist | select-object mountpoint,filer,sharename,description | export-csv Z:\sharereport.csv -NoTypeInformation

这会产生一个新的csv,当我在excel中打开它时,它很好并且很有条理。

但是现在我想把对象“filer”和“sharename”放在一起以产生一个UNC路径:

\\<filername>\<sharepath>

我想也许我可以使用foreach循环如下:

foreach ($object in $sharelist.sharename)
{
$object -replace $object,"\\<filer>\" + $object
}

然而这不起作用......我认为必须有几个不同的想要这样做,所以我很感激任何指导。简单的问题,但我的powershell是可怜的(尽管它越来越好)。

此外,我使用Netapp Powershell工具包获取有关共享的信息,以生成原始的sharelist数组。

谢谢大家。

1 个答案:

答案 0 :(得分:1)

尝试加入路径...

foreach ($object in $sharelist) {
    Join-Path \\<filer>\ $object
}