Политика выполнения 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.
Однако, поскольку вы не вызываете какой-либо файл сценария, нет необходимости изменять политику выполнения.