| serik1986 
 
  
 Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору попытался сделать вливание первого аргумента как $_.sid, та же ошибка ...
 вроде везде как и тут идет передача аргумента, на всякий случай опубликую все функции которые участвуют в проблемной цепочке...
 
 Код:
 | function Get-Share { [CmdletBinding()]
 param(
 [Parameter(ValueFromPipeline)]
 [Microsoft.ActiveDirectory.Management.ADGroup[]]
 $Group
 )
 BEGIN {
 $Root = 'E:\Shares\'
 }
 PROCESS {
 $path = Join-Path $root $_.Name
 $path
 }
 }
 
 function Update-Share {
 [CmdletBinding()]
 param(
 [Parameter(ValueFromPipeline)]
 [string]$Path,
 [Microsoft.ActiveDirectory.Management.ADGroup[]]$Group
 )
 
 PROCESS {
 If ($false -eq (Test-Path $_)) {
 New-Item -Path $_ -Name $Group.Name -ItemType Directory
 }
 
 $path | Update-SharePermissions -Group $Group
 }
 
 }
 
 function Update-SharePermissions{
 [CmdletBinding()]
 param(
 [Parameter(ValueFromPipeline)]
 [string]$Path,
 [Microsoft.ActiveDirectory.Management.ADGroup[]]$Group
 )
 
 PROCESS {
 $acl = get-acl $Path
 $isProtected = $true
 $preserveInheritance = $false
 $acl.SetAccessRuleProtection($isProtected, $preserveInheritance)
 Set-Acl -Path $Path -AclObject $acl
 
 
 $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($_.sid,"FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
 $Acl.SetAccessRule($Ar)
 Set-Acl -Path $Path -AclObject $Acl
 }
 
 }
 
 Get-Group -PipelineVariable Group |
 Get-Share |
 Update-Share -Group $Group
 | 
 
 
 |