Назад | Перейти на главную страницу

Get-GPResultantSetOfPolicy выдает «… отчет не может быть создан для пользователя…»

Я пытаюсь создать RSOP с нескольких наших серверов. Все, что мне нужно, это компьютер, а не результаты пользователя.

Это код PowerShell, который я использую:

$computers = (Get-ADComputer -Filter ... -SearchBase ...).Name 

foreach  ($computer in $computers)
{
    Get-GPResultantSetOfPolicy -Computer $computer -ReportType xml -Path ...
}

Это вызовет исключение на некоторых серверах, которое в основном говорит о том, что я никогда не входил в систему, и поэтому профиль не существует.

Get-GPResultantSetOfPolicy: отчет о результирующем наборе политик (RSoP) не может быть создан для пользователя MyUser на компьютере MyComputer, поскольку на этом компьютере нет данных журнала RSoP для этого пользователя. Это может быть связано с тем, что пользователь никогда не входил на этот компьютер. Имя параметра: User В строке: 1 символ: 1 + Get-GPResultantSetOfPolicy -computer MyComputer -ReportType xml -path d: \ ... + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidArgument: (Microsoft.Group ... OfPolicyCommand: GetGPResultantSetOfPolicyCommand) [Get-GPResultantSetOfPolicy], исключение ArgumentException + FullyQualifiedErrorId: NoLoggingData, Microsoft.GroupPolicyMfpolicy.Commands.GroupPolicyComf

По умолчанию этот командлет использует пользователя по умолчанию, то есть пользователя, выполняющего командлет.

Конечно, есть -User Параметр, который позволяет мне выбрать пользователя, от которого я знаю, что вход в систему произошел на целевом сервере (и для этого существует профиль Windows). Но это становится громоздким, поскольку мне пришлось бы использовать, например, Get-WmiObject Win32_UserProfile -ComputerName MyComputer сначала получить список доступных профилей пользователей, а затем выбрать один из них для выполнения Get-GPResultantSetOfPolicy позже...

Обычный старый gpresult.exe ведет себя точно так же странно ... Я не хочу, чтобы / не могу rdp на каждом сервере заранее сгенерировать профиль Windows.

На мой взгляд, есть две возможности:

  1. Используйте сценарии для создания профиля Windows на каждом сервере, а затем вернитесь к Get-GPResultantSetOfPolicy
  2. RDP в каждую машину ... (невозможно)

Вопросы: