У меня есть этот код, и он работает, но он делает политику GPO домена, а не локальную. Как мне сделать это, чтобы сделать его локальным?

#Create QOS for RDP Session
#Create a new Group Policy Object (GPO) that will be applied to the LocalHost that contain the computer objects.
#The value "Teams client - QoS" can be modified to fit your needs or naming standards
New-GPO "Local Computer Policy"  -Name "MSTSC" -Comment "QoS for Agents."

#Create Registry Value for Teams client Audio QoS in the "Teams Client - QoS" GPO
Set-GPRegistryValue -Name "MSTSC" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\MSTSC" -ValueName "Application Name", "DSCP Value", "Local IP", "Local IP Prefix Length", "Local Port", "Protocol", "Remote IP", "Remote IP Prefix Length", "Remote Port", "Throttle Rate", Version -Type String -Value "mstsc.exe", "0", "*", "*", "*", "*", "*", "*", "*", "-1", "1.0"

2 ответа2

1

Что касается этого ..

«создает политику GPO домена, а не локальную»

это по замыслу. В PowerShell нет командлетов для локального объекта групповой политики, поэтому вы должны написать это самостоятельно или использовать этот модуль.

PolicyFileEditor:

См. Эту статью об использовании: как управлять локальной групповой политикой с помощью Powershell

Этот модуль можно использовать для управления локальными политиками, но его также можно использовать для получения политик из шаблонов политик. Примером могут служить шаблоны политик, поставляемые с диспетчером соответствия требованиям безопасности. Если вы также хотите установить базовый уровень для своих локальных политик, вы можете использовать этот модуль для сравнения ваших действующих политик с политиками в шаблонах. Тогда очень легко вернуться назад и внести одно изменение в случае изменения политики. На снимке экрана ниже вы можете увидеть выходные данные Get-PolicyFileEntry для пользовательской политики Windows 10 для SCM.

0

Я не смог поместить его в объект групповой политики, но я смог добавить его в реестр

# Setup QOS on MSTSC session

# Works but doesn't show up in GPO Editor
#reg import .\MSTSC.reg

# Works but doesn't show up in GPO Editor
# Invoke-Command {reg import .\MSTSC.reg *>&1}

# Works but doesn't show up in GPO Editor
$StartParams = @{
FilePath = "$Env:SystemRoot\REGEDIT.exe"
ArgumentList = '/s','.\MSTSC.reg'
Verb = 'RunAs'
PassThru = $True
Wait = $True
}
$Proc = Start-Process @StartParams

If ($Proc.ExitCode -eq 0) { Write-Host 'Success!' }
Else { Write-Host "Fail! Exit code: $($Proc.ExitCode)" }

Pause

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .