Установка 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 раньше, но это было давно.

0 ответов

Другие вопросы по тегам