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

0

使用 ExecutionPolicy Bypass 启动一个新的 PowerShell。

因为您已经在 PowerShell 中,所以配置执行策略的正确方法是Set-ExecutionPolicy

但是,由于您不调用任何脚本文件,因此无需更改执行策略。

于 2018-03-19T18:24:49.833 回答