2016-05-12 41 views
0

我想遠程設置一些ACL。遠程修改ACL幾臺PC

文件test.csv包含計算機用戶名。我認爲這個問題是通過內部Enter-Pssession$user

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} 

錯誤:

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

回答

0

您可以選擇使用foreach循環的管道變量來訪問當前用戶和計算機。例如$_.User$_.Computer。您也可以分配變量:$User = $_.User$Computer = $_.Computer注意:變量的名稱取決於csv的列名稱。

你也缺少在您指定的路徑引號,這就是爲什麼你會得到錯誤信息:

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