ガイダンスが欲しいと思っていました。
「Path」と「Owner」の2つの列を持つcsvファイルがあります。
Belkowスクリプトを作成しましたが、CSVファイルから読み取ることができますが、csvから変数を割り当てようとすると失敗します。
どこが悪いのかわかりません。任意の助けいただければ幸いです。
import-csv c:\test\output.csv | foreach-object {
$Path = $_.path
$owner =$_.owner
"The username is $Path and the owner is $owner"
}
ForEach-Object {
$Path = $_.path
$owner =$_.owner
$Account = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList '$owner';
$Acl = Get-Acl -Path $path ;
$Acl.SetOwner($Account);
Set-Acl -Path $owner -AclObject $Acl;
}
最初のセグメントからの出力は正しく、パスと所有者が表示されますが、2番目の部分はパスに従って所有者を設定していません。
ありがとう
2番目のforeachには、反復する入力オブジェクトがありません。だからどちらか
$csv = import-csv c:\test\output.csv
$csv | foreach-object {
$Path = $_.path
$owner =$_.owner
"The username is $Path and the owner is $owner"
}
$csv | ForEach-Object {
$Path = $_.path
$owner =$_.owner
$Account = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList "$owner"
$Acl = Get-Acl -Path $path
$Acl.SetOwner($Account);
Set-Acl -Path $Path -AclObject $Acl
}