G$Folders = Get-childItem C:\permissiontest\
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::InheritOnly
$objType = [System.Security.AccessControl.AccessControlType]::Allow
foreach ($TempFolder in $Folders)
{
echo "Loop Iteration"
$Folder = $TempFolder.FullName
$acl = Get-Acl $Folder
$permission = "MRGROUP\ro","Read", $InheritanceFlag, $PropagationFlag, $objType
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
Set-Acl $Folder $acl
}
Ошибка:
G$Folders : The term 'G$Folders' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At C:\script\aclper.ps1:1 char:1
+ G$Folders = Get-childItem C:\permissiontest\
+ ~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (G$Folders:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Ну 'G $ Folders' не является командой. Что вы ожидаете от 'G $ name'? Предположительно, избавиться от G и сделать его '$ Folders =' в первой строке. – TessellatingHeckler
Добро пожаловать в StackOverflow. Если вы хотите, чтобы люди помогали, вы должны, по крайней мере, приложить некоторые усилия в свой вопрос. Вы буквально свалили свой скрипт и ошибку, без контекста. Вы даже не нашли времени для его форматирования (что я только что сделал для вас). –