Политика выполнения Chng в RemotePSSession

Я пытаюсь написать что-то, что запросит имя ПК, а затем удаленно выполнит изменение разрешения папки. Все выглядит хаотично, но я борюсь с изменением политики выполнения после Enter-PSSession - кажется, что он просто застрял и не перейдет дальше к моей функции.

Это черновик того, что у меня есть до сих пор. Любая помощь приветствуется.

$PromptedPC = Read-Host -Prompt "`n `n Enter PC Number" 
Enter-PSSession -ComputerName $PromptedPC


Write-Host `n"Do you want to change folder permissions?" -ForegroundColor Green
$ReadAnswer = Read-Host " ( y / n ) "
PowerShell.exe -noprofile -ExecutionPolicy Bypass

switch ($ReadAnswer)
    { 
      Y {

function Grant-userFullRights {            
 [cmdletbinding()]            
 param(            
 [Parameter(Mandatory=$true)]            
 [string[]]$Files,            
 [Parameter(Mandatory=$true)]            
 [string]$UserName            
 )            
 $rule=new-object System.Security.AccessControl.FileSystemAccessRule ($UserName,"FullControl","Allow")            

 foreach($File in $Files) {            
  if(Test-Path $File) {            
   try {            
    $acl = Get-ACL -Path $File -ErrorAction stop            
    $acl.SetAccessRule($rule)            
    Set-ACL -Path $File -ACLObject $acl -ErrorAction stop            
    Write-Host "Successfully set permissions on $File"            
   } catch {            
    Write-Warning "$File : Failed to set perms. Details : $_"          
    Continue            
   }            
  } else {            
   Write-Warning "$File : No such file found"           
   Continue            
  }            
 }            
}
}
}
Grant-userFullRights -Files 'C:\ProgramData\New World Systems\' -UserName "BUILTIN\Users"

Я получил информацию о функции от: http://techibee.com/powershell/grant-fullcontrol-permission-to-usergroup-on-filefolder-using-powershell/2158

Я просто пытаюсь соединить что-то, что будет работать для папки программных данных, которой наши пользователи нуждаются в полном контроле, и которая продолжает возвращать разрешения к чему-то меньшему, чем полный доступ.

1 ответ

Вы запускаете новый PowerShell с обходом Execution Policy.

Если вы уже находитесь в PowerShell, правильный способ настройки политики выполнения - Set-ExecutionPolicy.

Однако, поскольку вы не вызываете какой-либо файл сценария, нет необходимости изменять политику выполнения.

Другие вопросы по тегам