我正在尝试编写一些提示输入PC名称,然后远程执行文件夹权限更改的内容。一切都看起来很乱,但是我在努力改变执行政策之后输入-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"
获取了功能信息
我只是想把一些可以用于programdata文件夹的东西放在一起,我们的用户需要完全控制它,以便将权限恢复到低于完全访问权限的状态。
答案 0 :(得分:0)
使用ExecutionPolicy Bypass启动新的PowerShell。
您已经在PowerShell中,配置执行策略的正确方法是Set-ExecutionPolicy。
但是,由于您没有调用任何脚本文件,因此无需更改执行策略。