Estou tentando gerar o RSOP do servidor de nossos servidores. Tudo o que preciso é o computador e não os resultados do usuário.
Este é o código do PowerShell que estou usando:
$computers = (Get-ADComputer -Filter ... -SearchBase ...).Name
foreach ($computer in $computers)
{
Get-GPResultantSetOfPolicy -Computer $computer -ReportType xml -Path ...
}
Isso lançará uma exceção em alguns dos servidores, que basicamente diz que eu nunca loguei e, portanto, nenhum perfil existe.
Get-GPResultantSetOfPolicy : The Resultant Set of Policy (RSoP) report cannot be generated for user MyUser on the MyComputer computer because there is no RSoP logging data for that user on that computer. This could be because the user has never logged onto that computer. Parameter name: User At line:1 char:1 + Get-GPResultantSetOfPolicy -computer MyComputer -ReportType xml -path d:\ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (Microsoft.Group...OfPolicyCommand:GetGPResultantSetOfPolicyCommand) [Get-GPResultantSetOfPolicy], ArgumentException + FullyQualifiedErrorId : NoLoggingData,Microsoft.GroupPolicy.Commands.GetGPResultantSetOfPolicyCommand
O comportamento padrão desse cmdlet é usar o usuário padrão, ou seja, o usuário que está executando o cmdlet.
É claro que há o parâmetro -User
, que me permite escolher um usuário, do qual eu sei que um loggin aconteceu no servidor de destino (e, portanto, existe um perfil do windows). Mas isso é complicado, pois eu teria que usar, e. Get-WmiObject Win32_UserProfile -ComputerName MyComputer
primeiro para recuperar uma lista de perfis de usuário disponíveis e depois escolher um deles para executar Get-GPResultantSetOfPolicy
mais tarde ...
O antigo gpresult.exe
se comporta exatamente da mesma maneira estranha ... Eu não quero / não posso rdp em cada servidor para gerar um perfil do Windows de antemão.
Na minha opinião, existem duas possibilidades:
Get-GPResultantSetOfPolicy
Perguntas:
Tags powershell group-policy