Я вызываю LogonUser с LOGON_TYPE_NEW_CREDENTIALS и LOGON32_PROVIDER_WINNT50, чтобы заставить мой поток олицетворять пользователя в другом домене. Я могу подключиться к удаленным общим папкам, а все остальное - в ненадежном домене.Сгенерировать отчет GPO из ненадежного домена
Проблема, с которой я столкнулся сейчас, - это когда я использую GPMGMTLib для генерации отчета GPO. Я получаю исключение «HRESULT: 0x80072020», когда он вызывает GenerateReport().
using GPMGMTLib;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace CrossDomainWork
{
class Program
{
static void Main(string[] args)
{
ImpersonationContext context = new ImpersonationContext("ourdmzdomain.com", "dmzuser", "dmzpassword");
context.Start();
GPM gpm = new GPM();
var constants = gpm.GetConstants();
var domain = gpm.GetDomain("ourdmzdomain.com", "", constants.UseAnyDC);
var gpo = domain.GetGPO("{31B2F340-016D-11D2-945F-00C04FB984F9}");
object missing = Type.Missing;
var result = gpo.GenerateReport(GPMReportType.repHTML, ref missing, out missing).Result;
context.Stop();
}
}
}
Это ERROR_DS_OPERATIONS_ERROR, это очень общее и бесполезное для устранения проблемы. Попробуйте найти что-то более конкретное в журнале приложений машины. –
Журнал приложений в средстве просмотра событий не дает мне ничего полезного. Если я запустил приложение и указал ему на доверенный домен, у меня нет такой же проблемы и работает нормально. – Superdumbell