• Как узнать, кто подключался к серверу и были ли осуществлена передача файлов по сети?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Включите аудит доступа. Проще всего он включается через политику.
    Ответ написан
    Комментировать
  • Как исправить ошибку "Служба "Маршрутизация и удаленный доступ": Не удается найти указанный файл."?

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

    А еще посмотрите вот это руководство по устранению этой неисправности: https://www.thewindowsclub.com/routing-and-remote-... там, похоже, разобраны наиболее типичные случаи
    Ответ написан
    Комментировать
  • Как организовать выход в интернет в доменной инфраструктуре на Windows Server?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    В настройках dhcp распространяю выдачу ip адресов, указываю dns домен-контроллера (*.10.1) и основной шлюз (*.10.2)

    Так делать нельзя: клиенты по Windows в каждый момент работают с одним сервером DNS (по крайней мере - при елинственном подключении сети), на другой они переключаются при недоступности первого.
    Настраивайте в качестве сервера DNS для клиентов только КД (точнее, сервера DNS на нем), а для самого КД обеспечьте возможность разрешения имен в общемировом DNS. Если не хотите разрещать ему доступ к любым серверам DNS в интернете (кстати, почему?), используйте DNS-сервер или DNS-прокси на шлюзе: настройте его как сервер пересылки в консоли сервера DNS в Windows.
    Для п.3 вам требуется прокси-сервер. Какой - не посоветую: что там сейчас на какой платформе модно (и вообще поддерживается) - я не в курсе.
    Ответ написан
    1 комментарий
  • Autodiscover в MS Outlook 2019 как применить ошибку сертификата?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Если нужно прямо здесь и сейчас, есть костыль (или, как это называется в ITSM - "обходное решение").
    Но правильнее IMHO таки не прикостыливать, а, как написал выше Роман Безруков , попинать админов с целью сделать все по уму ( в ITSM это называется "струтукрное решение").
    Ответ написан
    2 комментария
  • Как отсортировать вложенные друг в друга объекты?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Судя по вашему сегодняшнему вопросу, в котором вы пытаетесь решать эту задачу дальне вам нужно сделать эту работу на уровне БД.
    Если так, то для этого многие (хоть и не все, но, к примеру, в MS SQL Server и в PostgreSQL она AFAIK есть) СУБД имеют функциональность reursive CTE.
    Попробуйте поискать решение в этом направлении.
    Ответ написан
    Комментировать
  • Зачем нужен Service Locator?

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

    А вы не задумывались над тем, кто и как будет разрешать зависимости для конструкторов?
    В нынешнем ASP.NET Core этим занимются каркасы приложений ("фрейворки", от английского framework). И делают они это как раз через контейнер сервисов (либо напрямую через GetService, либо через ActvatorUtilities).
    Но есть области в ASP.NET Core , которые фремворками не закрываются - наример, в конвейере обработчиков запроса (middleware), там где требуется делегат типа RequestDelegate. И там без прямого обращения к контейнеру сервисов не обойтись.
    Ответ написан
    Комментировать
  • Как заставить домен находящийся в локальной сети перестать отваливаться?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Есть предположение, что копать надо в сторону DNS - в какие-то моменты она может отдавать для имени сайта не тот адрес, а браузер - запомнить это неправильное соответствие имя-адрес.
    Для диагностики в тот момент, когда браузер застревает на таймауте (т.е. ждет перед тем, как выдать эту ошибку) смотрите список соединений TCP: нет ли там попыток подключения на какой-то неправильный IP на порт вашего сайта (80, 443 или какой вы там используете). Смотреть можно командой netstat -n из командной строки, интересующие вас подключения имеют состояние SYN_SENT. Для уверенности можно использовать команду netstat -no, она дополнительно покажет PID процесса, сравните его с PID браузера (его можно увидеть в Диспетчере Задач или в списке задач, который выводит команда tasklist). А потом ищите, какой из серверов DNS отдает этот адрес в ответе для имени сайта (команда nslookup имя_сaйта IP_сервера_DNS).
    PS Частая ошибка настройки DNS в сетях с AD - добавление на клиенты в список серверов DNS сторонних серверов DNS: их там быть не должно, там должны быть только контроллеры домена.
    Ответ написан
    2 комментария
  • Какие минимальные настройки нужно делать для AD?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    я поднял 1й КД (dc1), установил ему адрес 192.168.88.2, и в dns добавил 1 запись, самого себя.

    Когда КД в сети больше одного, то так делать не надо. Добавляйте на него второй DNS на DC2. Иначе есть возможность, что содержимое зон DNS на обоих КД будет рассогласовано (впрочем, для вас, судя по в вашему описанию, эта возможность - теоретическая, но все равно стоит делать хорошо сразу).
    решил глянуть статус репликации, а там ошибка
    ошибка репликации

    Прямо сейчас там ошибок нет: все разделы каталога среплицировались. Но проверьте обратную репликацию на DC1 - она совершенно отдельная, мало ли что там.
    Те сообщения, которые вы видите - это пока не забытые прошлые ошибки (например, при старте AD). Или такое бывает, если команда была запущена не в режиме администратора.

    PS А вообще состояние КД лучше проверять командой dcdiag (из командной строки в режиме администратора). Если не хотите читать лишние буквы - используйте dcdiag /q, тогда будут выведены только тесты с ошибками.
    Ответ написан
    2 комментария
  • Cannot convert return expression of type, C# generic method, как вернуть конкретный тип?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    T - это параметр-тип обобщенного метода. Как и все параметры, этот параметр задается извне, при вызове конкретной специализации обобщенного метода. И, кстати, компилятор вообще не может знать, что T может принадлежать к одному из трех перечисленных типов: их проверка, с выбрасыванием исключения, производится уже во время выполнения.
    Так что изнутри метода, если вы хотите его сохранить, а не выкидывать, придется вам возвращать Object и разбираться с типом возвращенного значения уже после вызова. Причем, возврат Object вместо числового типа - это ещё и лишние накладные расходы на упаковку/распаковку (box/unbox). Так что я бы на вашем месте этот метод выкинул.
    Ответ написан
    Комментировать
  • Как запустить отдельный процесс а не подпроцесс?

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

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вариант 2 несет риск отказа единственного КД в в процессе замены второго КД. Вариант 1 в этом плане безопаснее. Оставлять тот же адрес IP и имя, чаще всего, не обязательно (для проверки можно выключить второй КД и посмотреть, что все в организации функционирует нормально).
    PS Для отказоустойчивости DHCP можно поднять DHCP на другом КД, а зону(ы) для локальной сети настроить отказоустойчивыми через DHCP Failover.
    Ответ написан
    Комментировать
  • Причины медленной работы DNS в ЛВС?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Уберите 8.8.8.8 из всех списков серверов DNS на всех клиентах, которым нужно обращаться к домену (на NAS, в частности). Этот сервер почти наверняка не способен разрешать имена ваших КД в IP вашей локальной сети (подробности разных сценариев опускаю). По умолчанию DNS на КД вполне способен справляться с разрешением всех имен (и из интернета - тоже, через корневые сервера). Если это вдруг не так - кто-то (ваш маршрутизатор или провайдер) почему-то блокирует исходящие запросы DNS с КД - настройте на них пересылку запросов на внешний сервер DNS, запросы на который не блокируются (например, тот же 8.8.8.8).
    PS Если маршрутизатору не нужно обращаться к домену (в том числе - если он настроен как DNS Proxy для локальной сети), то 8.8.8.8 можно оставить, чисто на случай отказа всех КД.
    Ответ написан
    1 комментарий
  • Какой из вариантов схемы базы данных лучше?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Если я правильно понимаю (мало ли, вдруг есть какие-то стандарные коробки, контейнеры и т.д), то массогабаритные харастеристики груза отдельной сущностью не являются. Так что первый вариант противоречит подходу "сущность-связь" и тем самым плох.
    Второй вариант годится, если каждый отдельный груз с одинаковыми массогабаритными характеристивами не является отдельной сущностью (т.е. других различающихся атрибутов у таких грузов нет и никогда не будет). Только тогда всю совокупность таких грузов можно считать отдельной сущностью, а потому - объеднить в одну запись с указанием количества. Стоит ли такая оптимизация снижение гибкости из-за введения указанного выше ограничения - решать вам. Но есть общее правило - не делать преждевременных, невынужденных оптимизаций, если они вызывают побочные эффекты. А эта, как выше указано - вызывает.
    Ответ написан
  • Как исправить "Input string was not in a correct format."?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Полагаю, вы хотели подставить между знаками процента значение из поля ввода (txtSearch.Text), которое передается в string.Format? В таком случае надо между фигурным скобками подставить порядковый номер параметра (он начинается с 0): string.Format("%{0}%", txtSearch.Text)

    PS Из соображений безопасности (чтобы избежать SQL-инъекции) крайне не рекомендуется напрямую копировать в строку запроса сырые, непроверенные, данные из ввода пользователя - а вы сделали именно так. В учебной задаче это допустимо, но лучше сразу привыкать делать по уму: например, использовать в строке запроса параметры и передавать ввод через них.
    Ответ написан
    Комментировать
  • Возможно ли передать параметром экземпляр HttpClien в другой класс?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Рекомендуемые варианты использования есть в документации Microsoft. Краткая цитата оттуда:
    Чтобы суммировать рекомендуемое HttpClient использование с точки зрения управления временем существования, следует использовать либо долгосрочные клиенты, либо задать PooledConnectionLifetime (.NET Core и .NET 5+) или краткосрочные клиенты, созданные IHttpClientFactory.

    Как видите, один клиент на все приложение (т.е. долгосрочный) - это только один из вариантов. Выбирайте тот вариант, который вам больше подходит (они все там описаны в документации, рядом) и пользуйтесь.
    Ответ написан
    2 комментария
  • Как настроить маршрутизацию?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вам, если правильно сформулировать задачу технически, требуется переадресация на основании имени узла в (заголовке Host протокола HTTP(S)), к которому производится подключение. Это обычно маршрутизацией не называют, а ПО, которое умеет это делать, чаще всего называют "обратный прокси-сервер". Теоретически оно может быть установлено и на домшнем маршрутизаторе, если он - достаточно мощный, или - на NAS, но и тут, и там надо смотреть про конкретную модель. Если походящих вариантов не найдется, то придется устанавливать обратный прокси-сервер на ПК (нужное ПО есть и под Windows, и под Linux), но в таком случае ПК должен быть всегда включен. Или - ещё на чем-то постоянно включенном.
    Ответ написан
    3 комментария
  • Почему групповая политика применяется, но параметры фактически не прописываются?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Смотрите подробный отчет, который можно получить ключом /H
    gpresult /h file.htm
    Ответ написан
    3 комментария
  • Как можно балансировать SMTP по адресу получателя?

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

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вы не инициализуете сами массивы (не содаете для них объекты типа Inline_Keyboard[]) нижнего уровня: rootobject.inline_keyboard[0] и rootobject.inline_keyboard[1]. Ну, и rootobject.inline_keyboard[2] тоже стоило бы создать IMHO.
    Ответ написан
    Комментировать
  • Почему не находит файл C# в csc?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Имя_файла.cs ищется относительно вашего текущего каталога - того, в котором вы находились, когда ввели команду с csc.exe. Его имя пишется в приглашении командной строки. Вот и посмотрите, из какого каталога вы запускаете команду, и есть ли там нужный файл.
    Ответ написан