これはちょっと難しい質問ですが、ここに行きます。netapp 上の Filer 共有について報告するために、powershell スクリプトを作成しています。すべての共有のレポートを作成できるところまで来ましたが、ここでやりたいことは、CSV 出力から作成した配列を取得し、共有名の値を抽出することです。ただし、この値の前にサーバー名「\filer\」を追加して、UNC パスを作成したいと考えています。
UNC を調べて、それを使用して Filer 共有に関する情報を生成するつもりです。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
これにより、Excel で開いたときに整理された新しい csv が生成されます。
ただし、オブジェクト「filer」と「sharename」を取得して、それらをまとめてUNCパスを生成したいと考えています。
\\<filername>\<sharepath>
おそらく、次のように foreach ループを使用できると思いました。
foreach ($object in $sharelist.sharename)
{
$object -replace $object,"\\<filer>\" + $object
}
ただし、これは機能しません...これを行うにはいくつかの異なる方法があると思いますので、これに関するガイダンスをいただければ幸いです。単純な問題ですが、私のパワーシェルはひどく貧弱です (改善されていますが)。
また、Netapp Powershell ツールキットを使用して共有に関する情報を取得し、元の共有リスト配列を生成しています。
みんな、ありがとう。