2016-05-12 7 views
0

Ich möchte einige ACL Remote einstellen.Fern ändern ACL mehrere PC

Die Datei enthält test.csvComputer und Benutzername. Ich denke, das Problem Feld zu passieren ist $user innen Enter-Pssession:

Import-Csv C:\test.csv | ForEach-Object { 

Enter-PSSession -ComputerName $Computer 
$Path = C:\Users\$User\Desktop 
$Acl = Get-Acl 
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule("$User","ReadAndExecute","ObjectInherit,ContainerInherit","None","Allow") 
$Acl.SetAccessRule($Ar) 
Set-Acl -Path $Path -AclObject $Acl 
Exit-PSSession} 

Fehler:

The term 'C:\Users\$User\Desktop' is not recognizaed as the name of a cmdlet, function, script, file or operable program. 

Antwort

0

Sie haben den aktuellen Benutzer und Computer zuzugreifen, die Pipeline Variable der foreach-Schleife. Zum Beispiel $_.User und $_.Computer. Sie können auch die Variablen $User = $_.User und $Computer = $_.Computer zuweisen. Hinweis: Der Name der Variablen hängt vom Spaltennamen des CSV ab.

Sie auch die Anführungszeichen fehlen, wo Sie den Pfad zuordnen, weshalb Sie die Fehlermeldung erhalten .:

$Path = "C:\Users\$User\Desktop"