0

PC 名の入力を求めてから、リモートでフォルダーのアクセス許可の変更を実行するものを作成しようとしています。すべてが混乱しているように見えますが、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から取得しました。

ユーザーが完全に制御する必要があるプログラムデータフォルダーで機能するものをまとめようとしているだけで、アクセス許可をフルアクセスよりも低いものに戻し続けています。

4

1 に答える 1