【问题标题】:Powershell array values, concatenating dataPowershell数组值,连接数据
【发布时间】:2013-08-07 18:13:28
【问题描述】:

这是一个令人痛苦的问题,但在这里。我正在创建一个 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 信息...

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

$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 工具包获取有关共享的信息,以生成原始共享列表数组。

谢谢大家。

【问题讨论】:

    标签: arrays powershell concatenation cifs


    【解决方案1】:

    尝试加入路径...

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

    【讨论】:

    • Doh 在上周的 MS 培训中完全忘记了这一点。非常感谢你,那是缺失的部分。完美的!我能够用输出文件转储输出......我认为应该将适当的结果扔到文件中,然后我可以将它们扫描为变量进行处理。
    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多