• C#, обработка исключений, почему нельзя обратится к свойству, через имя класса?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    если я не хочу создавать переменную

    А вы её и так, и так не создаете: экземпляр исключения создается при возбуждении исключения (помните синтаксис - throw new Exception() )? А вот чтобы обратиться к полям/свойствам/методам этого экземпляра, надо дать ему имя в конструкции catch и обращаться к нему по этому имени. А при указании в качестве имени экземпляра имени класса, вы, как выше вам написал Василий Банников , как и в любом другом месте, обращаетесь к статическому полю (или свойству) этого класса. Такой вот синтаксис у языка C#: обработчик исключения у него - это обычный блок, никаких специальных соглашений там нет( пока что, по крайне мере ;-) ).
    Ответ написан
    2 комментария
  • Сменилась ip адресация. Перешла на ip v6. Что могло быть причиной?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Чтобы выяснить причину, надо смотреть.
    1. Что у вас выдает местный сервер DHCP, cмотреть - командой ipconfig с командной строки и/или GetNetIPAddresses из Powershell
    2. Посмотрите, во что у вас разрешаются нужные вам имена домена Resolve-DnsName имя (в powershell)
    3. Если у вас часть инфраструктуры (AD, DNS) связана с головной организацией - переадресуйте этот вопрос им.

    4. Если зона rcss.local - это ваш домен AD, и доступ к домену сломался из-за DNSSec (ну да, кто-то проспал срок действия подписей) , и вы управляете локальным сервером DNS, то можно для восстановления работы отключить на нем проверку DNSSec (в Windows Server это делается в свойствах сервера, там есть галочка).
    Ответ написан
    Комментировать
  • Зависит ли какой указан SSL-порт для работы SMTP соединения сайте?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Если вас, как я понял, интересует, нужен ли серверу другой сертификат для подключения по другому порту через другой протокол, то ответ - не нужен: сертификат выдается для использования указанного в нем имени DNS хоста(одного или нескольких) , порт при этом может быть любым.

    PS В SMTP есть два механизма передачи по зашифрованному каналу:
    1. По установленному заранее соединению SSL (обычно называется "SMTP over SSL" или SMTPS, обычно используется порт 465)
    2. Переходом от незашифрованного соединения к зашифрованному по команде SMTP STARTTLS ("SMTP Service Extension for Secure SMTP over TLS", используются те же порты (587 - клиентское подключение, 25 - сервер-сервер)

    Клиенты (MS Outlook, к примеру) для использования этих разных механизмов требуют разных настроек.
    И сервер и клиенты SMTP вполне могут не поддерживать один из этих механизмов (например, потому что SMTPS какое-то время считался устаревшим).
    Ответ написан
    Комментировать
  • Как опубликовать решение на GitHub без перезаписи существующей ветки?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Я правильно понимаю, что результат нужно публиковать в том же репозитории, но в своей ветке?
    Если так, то создайте себе локально такую ветку на основе вашей локальной main с переходом в нее (git checkout -b ветка ) и пошлите в репозиторий (git push -u origin ветка) уже её.

    Если нужно публиковать результат как-то иначе - уточните, как именно: сначала - для себя, у автора теста, заетем - здесь в комментарии.
    UPD: Написал команду git push целиком.
    Ответ написан
  • Как сделать ограничение на кол-во неправильно введённых паролей Active Directory?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вы в какой политике меняете блокировку учетных записей, на каком уровне она применяется? Надо - в политике, применяемой к домену в целом (например, в Default Domain Policy).
    Ответ написан
  • Издержки полиморфизма или неправильный дизайн?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Простейший способ решить вашу проблему, не нарушая вашу архитектуру - сделать корневой класс иерархии "полуабстрактным": сделать его виртуальные методы не чистыми виртуальными, а реализовать как те самые заглушки, которые вы реализуете в каждом классе-потомке.

    PS Но лично мне не нравится сама такая архитектура: в ней получается, что использующая иерархию этих классов программа должна знать все типы, поддерживаемые этой иерархией, а это может вызвать проблемы с расширяемостью. Впрочем, выбор архитектуры - это вопрос всегда конкретный, завязанный на решение конкретной задачи.
    Ответ написан
    Комментировать
  • Почему надо явно добавлять пакет Microsoft.NET.Test.Sdk в гл проект, если в одном из пакетов он уже есть?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Так нужно, потому что ссылки не транзитивны. Средства разработки не могут взять метаданные (описания сборок, классов и т.д.), которые нужны для работы и компилятора, и других средств разработки (IDE, в частности), из ссылок того проекта (по факту - тоже сборки), на который ссылается текущий. Так что для использования какой либо сборки (в данном случае - из состава пакета), ссылку на нее нужно добавлять в проект явно.
    Ответ написан
    2 комментария
  • Как лучше хранить данные фиксированных таблиц в JSON или в отдельных полях?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Касательно БД ответ зависит о того, что вы с этими данными, в основном, делать будете. Если просто выводить весь набор, без (или почти без) фильтрации, поиска и т.д. на бэке, то лучше хранить объекты в том виде, в котором они через API отдаваться будут, т.е. в JSON. Если активно будете пользоваться поиском и фильтрацией по свойствам объектов, то лучше хранить свойства объектов - по крайней мере, используемые для поиска фильтрации, а, возможно, и все - как отдельные поля БД. Остальные свойства при этом можно хранить и в JSON: современные БД, и, в частности, PostgreSQL, умеют с ним работать. Если ожидается что у разных объектов будет разный набор свойств, и по этому набору поиск/фильтрация не будет производиться (по крайней мере - часто), то таким свойствам совершенно точно место в JSON (или использовать альтернативный подходы, про которые пока писать не буду).
    Короче, выбор тут конкретный, и, нередко - творческий.
    Ответ написан
    Комментировать
  • Почему не удаляются папки?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Скорее всего, в этих папках есть открытые файлы. А Windows откладывает удаление папок и файлов до тех пор, пока все файлы закрыты не будут.
    Список открытых файлов и процессов, которые их открыли можно посмотреть с помощью утилит от Sysinternals (это уже давно часть MS) Process Explorer или handle.exe(с командной строки), см. например https://serverfault.com/questions/1966/how-do-you-...
    Ну, а дальше разбирайтесь, что с этими процессами делать.
    Ответ написан
  • Как Найти этот предел не используя правило лопиталя?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Расписывать все преобразования не буду, изложу идею.
    1. Раскрыть тангенс tg(x) по определению, как sin(x)/cos(x)
    2. Расписать sin(2x) и cos(2x) по формуле синуса и косинуса двойного угла
    3. Сократить числитель и знаменатель на 2*sin(x)
    4. Привести выражение в числителе к общему знаменателю, перенести этот знаменатель вниз в основному знаменателю и сократить члены в числителе; в числителе останется sin(x)^2, в знаменателе - произведение трех сомножителей: -(1-cos(x)) и ещё двух, имеющих пределом 1
    5. Выделить из числителя сомножитель (1-cos(x)) (см. в комментариях к предыдущему ответу) и сократить на него числитель и знаментаель

    После этого в знаменателе не останется выржений, стремящих к 0, и можно будет посчитать предел нормальнм образом. Получится -2
    Ответ написан
  • Почему не доступна видимость занятости пользователей в Outlook?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Разрешение для этого пользователя на папки Календарь п/я тех пользователей, чье расписние желаете видеть, посмотрите.
    Ответ написан
  • Может ли вредоносное ПО запуститься без автозапуска и планировщика?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    В дополнение: есть такая утилита от Sysinternals (это уже давно часть Microsoft), она показывает все места, откуда возможен автоматический запуск, и что в этих местах содержится.
    Ответ написан
    2 комментария
  • Почему я не могу выбрать проект для дебага?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Если надо один раз: правой кнопкой мыши на нужный проект -> Debug -> Start New Instance
    Если надо изменить на постоянку: правой кнопкой мыши на нужный проект -> Configure Startup Project...
    или Меню->Project->Startup Project...
    Предполагается, что все эти проекты входят в одно Решение (Solution)
    Ответ написан
    Комментировать
  • Пользователь с ipv6 localhost с именем совпадающим c именем компа пытается авторизоваться в системе. Что это может быть?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Коды ошибки показывают, что какая-то программа пытается подключиться к вашему компьютеру с него самого или, возможно, - с другого компьютера через какую-то выполняющуюся на вашем компьютерее программу, типа веб-сервера, через сеть с указанной (и не существующей) учетной записью.
    Чтобы понять, какая программа на вашем компьютере это пытается, попробуйте включить ненадолго аудит процессов, чтобы получить сведения о програмах и поискать корреляцию.
    Ответ написан
    Комментировать
  • Ошибка выпуска сертификата Enterprise CS. Не могу выпустить серт под админом, поможете?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    У вас проблема с профилем пользователя на машине, с которой вы пытаетесь выпустить сертификат.
    Закрытый ключ сертификата дожен храниться в профиле пользователя, а у вас там пользователь работает с временным профилем.
    Разбирайтесь с загрузкой профиля при входе в систему: ищите события в журнале событий в момент входа, описывающие ошибку.
    Ответ написан
  • Почтовый сервер не отправляет письма из-за ошибки SMTP, что не так?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Раз пишет про ошибку установки соединения, то для начала проверьте, идет ли ping и подключение по telnet на 25 порт.
    Ответ написан
  • Автоматическая очистка DNS записей в AD и Репликация Sysvol?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    По п.2: эта проверка всего лишь проверяет наличие событий ошибок и предупреждений в журнале событий репликации DFS за последние 24 часа (или от момента запуска службы, если он был в течение этих 24 часов). Открывайте журнал и смотрите, что у вас там за события. Чтобы ничего не упустить, рекомендуется перед этим перезапустить службу репликации DFS и подождать минут пять (а лучше - 15): некоторые ошибки фиксируются только при запуске.
    Для работы ровно одного контроллера репликация SYSVOL не нужна (очевидно), но желательно ее все-таки починить, если что.
    Ответ написан
  • Что требуется для почты на физически разделенных серверах и доменах (теория)?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    1. Чтобы Exchange Server принимал почту для другого домена, этот домен в нем должен быть прописан в Обслуживаемых доменах с типом "Внутренняя ретрансляция". А для фактической отправки почты на другой домен нужно создать соединитель отправки для этого домена с назначением (smarthost) на сервер, фактически обслуживающий этот домен. Сервер на том конце может быть совершенно любым сервером SMTP.
    2. Адреса для п/я в Exchange настраиваются политиками адресов: в политике должен быть прописан первичный домен для адреса SMTP (используется и для отправки и для приема) и может быть несколько вторичных доменов. На той стороне, где нужно поменять адреса, просто добавьте в политику нужный домен с нужным типом. Кстати, если политика поменяет первичнй адрес п/я, то его бывший первичный адрес останется в качестве вторичного, так что, если новым пользователям не нужно добавлять адреса из старого домена, то в политике можно просто заменить первичный домен на новый, не оставляя старый вторичным.
    3. Чтобы письма с Exchange с адресом его обслуживаемого домена могли отправляться на другой сервер SMTP (в том числе - в Exchange в другом лесу), нужно сменить тип этого домена с полномочного на внутреннюю ретрансляциию и создать соединитель отправки аналогично п.1
    4. Вам наверняка потребуется синхронизировать адресные книги обоих Exchange. Раньше для этого можно было использовать бесплатный упрощенный вариант Microsoft Identity Integration Server (названия у него были разные, но суть одна: синхронизация AD между разными лесами, так чтобы пользователи с п/я из одного леса отображались как контакты в другом). Остался ли он сейчас - не интересовался. Но, в принципе, это может делаться и скриптом.
    5. Вариантов совместного использования Exchange много разных (например, можно сделать общие календари). Но тут я их рассматривать не буду - вы все равно, скорее всего, захотите все это поскорее мигрировать в один лес. Но если интересно - ищите книги/документацию по Exchange 2007: эта функция (называется "федерация") в современном виде появилась там, и лучшие описания относятся именно к этой версии. С тех пор мало что поменялось, потому что MS пошла в облака.
    6. При миграции есть возможность заводить п/я в одном лесу для пользователей из другого, доверенного леса (называется это Linked Mailbox, как по-русски - точно не помню). Для этого, кстати,в Exchange есть скрипт (его использовали для подготовки миграции с ADMT или ему подобными).
    Ответ написан
    Комментировать
  • Как в Powershell вывести сообщение из логов полностью?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Get-WinEvent -LogName Application -MaxEvents 10 | Format-List Machinename, TimeCreated, Message
    Ответ написан
    Комментировать
  • Почему не работает замена буфера?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Так, как вы сделали, приложения для Windows GUI не пишутся. У вас цикл с ожиданием сделан совершенно неправильно.
    Обработка всего графического интерфейса в программе (в том числе и буфера обмена) в Windows выполняется одним потоком, через цикл сообщений. А вы этот поток захватили и не отдаете. Возможно, именно поэтому не работает и установка содержимого буфера обмена: ЕМНИП она тоже реализована через сообщения (но точно не помню), а шанс обработать очередь сообщний у вашей программы нет.
    Короче, переписывайте цикл чтобы никаких Thread.Sleep в нем не было. Например - добавляйте в форму таймер (System.Windows.Forms.Timer) и переносите вашу обработку буфера обмена в обработчик его события Tick.
    А там уже смотрите - работает она, или нет.
    Ответ написан
    Комментировать