Установка TerminalServicesProfilePath из C#
Я использую этот код, пытаясь записать в старый параметр AD, получил путь к профилю службы терминалов (мы пробовали новый, но он не работает, наше объявление должно быть старым)
DirectoryEntry dirEntry = ( user.GetUnderlyingObject() as DirectoryEntry );
IADsTSUserEx tsUser = dirEntry.NativeObject as IADsTSUserEx;
tsUser.TerminalServicesProfilePath = sRdpPath;
dirEntry.CommitChanges();
с этим определением IadstsuserEx
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIDispatch ),
Guid( "C4930E79-2989-4462-8A60-2FCF2F2955EF" )
]
private interface IADsTSUserEx
{
string TerminalServicesProfilePath { get; set; }
string TerminalServicesHomeDirectory { get; set; }
string TerminalServicesHomeDrive { get; set; }
bool AllowLogon { get; }
long EnableRemoteControl { get; }
long MaxDisconnectionTime { get; }
long MaxConnectionTime { get; }
long MaxIdleTime { get; }
int ReconnectionAction { get; }
int BrokenConnectionAction { get; }
bool ConnectClientDrivesAtLogon { get; }
bool ConnectClientPrintersAtLogon { get; }
bool DefaultToMainPrinter { get; }
string TerminalServicesWorkDirectory { get; }
string TerminalServicesInitialProgram { get; }
}
Который я основал на этой статье
но Цузер возвращается ноль
Я далеко за пределами своей зоны комфорта, и был бы очень признателен за помощь, которую вы можете оказать мне в получении этой работы.
Особенно любые ссылки на документацию по настройке com-импорта и правильному его использованию. Я делал pinvoke раньше, но это было давно.