Задать вопрос
  • Как в Exchange 2019 создать автоответ всем, кроме одного отправителя?

    @NortheR73
    системный инженер
    например:
    1. создать обычный автоответ (можно в Outlook, а лучше с помощью Set-MailboxAutoReplyConfiguration). Во внешнем сообщении (External Message) можно использовать какой-нибудь ключевой набор слов.
    2. создать транспортное правило для исходящей почты: получатель, которого надо исключить, и в теме письма есть слова "Automatic reply:" или в теле письма содержится ключевой набор слов - просто удалять письмо
    3. Настройку автоответа и транспортное правило включать/выключать одновременно

    З.Ы. со времен Exchange 2013 автоответ отправляется каждому отправителю только один раз. Если надо отправлять автоответ каждый день - выключаем/включаем настройки каждый день
    Ответ написан
    Комментировать
  • Есть ли утилита для упаковки папки с файлами в несколько архивов, без разделения файлов на части?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Проблема явно высосана из пальца.
    Если нужны "самодостаточные архивы", то и запаковывать надо по файлам/папкам, а не вот это вот мракобесие. В общем случае проходим по папкам и архивируем каждую

    for i in */; do zip -r "${i%/}.zip" "$i"; done

    В данном конкретном случае 99% объема раздачи составляют файлы .db. Вот их и надо заархивировать, по отдельности. А всё остальное оставить как есть. И тогда этим "облаком" можно будет хоть как-то пользоваться, без нанайских национальных плясок, распаковывая по 10 чемоданов, чтобы достать один файл.
    find . -type f -name '*.db' -exec zip -m {}.zip {} \;

    В винде всё это тоже легко пишется.

    Но сначала надо оценить саму необходимость возиться с архивирванием, чтобы сэкономить 30 гигов из 180.
    Ответ написан
    4 комментария
  • Возможно ли переписать это на PowerShell?

    @d-stream
    Готовые решения - не подаю, но...
    вот скормил ии и он даже на cmd сотворил
    for %%F in ("%source_folder%\*") do (
        call rling "%%~fF" "%compare_folder%"
        type result.txt >> %output_file%
        del /q result.txt


    на powershell
    if (!(Test-Path $outputFile)) {
        New-Item -Path $outputFile -Force | Out-Null
    }
    Get-ChildItem -Path $sourceFolder -File | ForEach-Object {
        & rling $_.FullName $compareFolder
        Get-Content -Path '.\result.txt' | Add-Content -Path $outputFile
        Remove-Item -Path '.\result.txt' -ErrorAction SilentlyContinue
    }


    ну и да, если предварить каждую команду в исходном тремя буковками wsl - то тоже будет результат)

    p/s/ кстати интересная логика у ии)
    Ответ написан
    4 комментария
  • Как ускорить выполнение powershell скрипта?

    @FluffyBeaver
    Kekxx, ну, не WMI, а WinRM.
    PowerShell Direct для того, чтобы администрировать виртуальные машины. Использовать его как замену удалённого доступа на стенде или в домашних условиях, конечно, можно. Но причина "по другому не работает" тут, скорее, индикатор, что инструмент выбран неверно.

    Если просто забить в Google ту строку, что возвращает PsExec, то уже на странице поиска будет понятно, что там написано.

    А если сопоставить этот вопрос и прошлый(-лые), то создаётся впечатление, что это попытка наваять что-то мутное на коленке.
    ______________________________
    Что касается вопроса - одновременный запуск проще будет сделать используя планировщик или ожидание нужного времени в самом скрипте
    (разумеется, надо убедиться в синхронизации времени между узла и).
    ______________________________
    Что касается проблемы доступа к ВМ, предположу, что это ПК и виртуальная машина не входят в домен, то есть, используют [разные] локальные учётные записи, а ошибки вызванв попытками использовать учётную запись одного узла в качестве учётной записи для другого узла.
    Ответ написан
    Комментировать
  • Как автоматизировать сбор данных о размере файла с множества удаленных машин?

    @NortheR73
    системный инженер
    PowerShell-скриптом и собирайте (тэг же соответствующий поставили)...
    Полный путь к файлу известен - проверяете наличие файла и его размер на удаленных компах. Если надо писать результаты именно в Excel - в скрипте создаете COM-объект Excel.Application и работаете с ним. Для простоты и быстроты я бы писал результаты в CSV-файл (Excel умеет с ними работать)
    Ответ написан
    1 комментарий
  • Возможно ли без костылей тихо установить VNC Server с установкой пароля?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Называется "тихая установка". В мануале всё подробно описано: https://www.tightvnc.com/doc/win/TightVNC-installe...
    Ответ написан
    Комментировать
  • Как проверить 500 000 файлов word,exel,pdf ,txt что они не битые?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    "Новые" офисные форматы (.docx, .xlsx, ...) - это по факту zip-архивы.

    Новый (пустой) документ Excel распакуется в виде, ЕМНИП, шести папок и примерно десятка файлов.

    Соответственно, их целостность можно проверить с помощью 7-Zip.

    Но с .pdf такой фокус не пройдёт.

    Текстовые файлы можно проверить с помощью анализа энтропии. Но тут вам потребуется понимание этого дела и, с определённой вероятностью, базовое умение программировать.

    Анализаторы энтропии встроены в некоторые инструменты для data recovery, но они работают немного по-другому и с накопителями в целом.
    Утилиты для отдельных файлов я сходу не назову, хотя почти уверен, что она должна существовать. Поищите в составе инструментов для forensic в духе Kali Linux и подобного.
    Также посмотрите что используют те, кто анализируют прошивки, дампы чипов, и занимаются подобным реверс-инжинирингом.

    Когда мне несколько лет назад потребовалась схожая программа, отображающая энтропию, я подходящего ничего не нашёл, в итоге писал не самый прямой костыль сам.
    Ответ написан
    Комментировать
  • Создание службы с запуском от Администратора?

    @NortheR73
    системный инженер
    Лучше создайте отдельную сервисную УЗ и наделите необходимыми правами (как минимум - Logon As A Service)
    из описания New-Service:
    -Credential
    Specifies the account used by the service as the Service Logon Account.
    Ответ написан
    Комментировать
  • Как быстро узнавать название пк пользователя чтобы каждый раз не идти в систему учёта?

    @NortheR73
    системный инженер
    в дополнение к предыдущим ответам...
    где каждому сотруднику присвоен ПК

    1. если есть AD, то у каждого пользователя в свойствах можно указать ПК, на которые он может ходить (это атрибут LogonWorkstations)
    2. если у вас установлено однозначное соответствие между пользователем и ПК и оно не меняется (или меняется крайне редко) - можно статично установить в описании (Description) пользователя имя ПК, а в описании ПК - имя пользователя
    3. варианты с динамическим изменением описания/атрибутов с помощью скрипта коллеги уже дали в ответах
    Ответ написан
    Комментировать
  • Как добавить в Exchange 2019 в динамическую рассылку несколько подразделений Active Directory через PowerShell?

    @NortheR73
    системный инженер
    1. Для создания DDG из нескольких OU можно использовать параметр RecipientFilter, а сам фильтр построить заранее и проверить, что он возвращает нужный набор ящиков (пример)
    2. У всех получателей Exchange есть группа атрибутов CustomAttribute1..15. Можно какому-то из этих атрибутов присваивать уникальное значение, а потом строить DDG с использованием параметра ConditionalCustomAttribute1..15.
    Вместо 'AllRecipients' лучше использовать, например, "MailboxUsers,MailGroups" (зачем вам ресурсные ящики или контакты в DDG?)
    не забываем описание - New-DynamicDistributionGroup
    Ответ написан
    Комментировать
  • Скрипт powershell использует слишком много памяти. Что я делаю не так?

    @conJOULA Автор вопроса
    Удалось добиться желаемого поведения использовав другой подход (другую фичу), которая называется ForEach-Object -Parallel. Если кто-то случайно забредёт сюда в поисках ответа, можете попробовать следующее:

    $threadslimit = 8
    $collection = @{}
    $synccollection = [System.Collections.Hashtable]::Synchronized($collection)
    
    1..1000 | ForEach-Object {
        $data = @('some', 'valuable', 'text', 'data')
        $synccollection.Add($_, $data)
    }
    
    #выводим созданную коллекцию до изменений, просто чтобы можно было сравнить
    $synccollection
    
    $keys = @($synccollection.Keys)
    
    $keys | ForEach-Object -Parallel {
        $synccollectionscope = $using:synccollection
    
        # Здесь на самом деле какая-то функция, которая возвращает строку
        $format = 'Changed data'
    
        # Изменяем одно из полей, напоминаю, по ключам лежат массивы
        $synccollectionscope[$_][3] = $format
    
        # Тут вывод чтобы просто отслеживать выполнение скрипта
        Write-Output "Data was changed"
    
    } -ThrottleLimit $threadslimit
    
    # Вывод самой коллекции в консоль, чтобы убедиться, что значения поменялись
    $synccollection


    Делает то же самое, использует практически нулевое количество памяти, работает быстрее.
    Ответ написан
    1 комментарий
  • Странный ServerDN при проверке автонастройки почты Exchange. Это нормально?

    @dshumov Автор вопроса
    Олдскул - Фигурнов форева
    Сам спросил и сам отвечаю :)
    Наверное это справедливо и для Exchange 2019
    Under Exchange 2013 Architecture:

    “Second, Outlook clients no longer connect to a server FQDN as they have done in all previous versions of Exchange. Outlook uses Autodiscover to create a new connection point comprised of mailbox GUID, @ symbol, and the domain portion of the user’s primary SMTP address. This simple change results in a near elimination of the unwelcome message of “Your administrator has made a change to your mailbox. Please restart.” Only Outlook 2007 and higher versions are supported with Exchange 2013.”
    Ответ написан
    Комментировать
  • Как правильно удалить определенные учетные записи windows 10 через powershell?

    @NortheR73
    системный инженер
    для одного локального пользователя - примерно так (у вас это все должно быть в цикле по всем компам):
    $localuser = Get-LocalUser -Name $USERNAME
    $localuser | Remove-LocalUser -Confirm:$false
    
    $userprofile = Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.SID -eq $localuser.SID }
    $userprofile | Remove-CimInstance -Confirm:$false
    Ответ написан
    Комментировать
  • Почему корректно не выполняется PS-скрипт?

    @0x0f80
    Потому что значение параметра -SearchBase не заключено в кавычки, и интерпретируется как массив вместо строки.
    Ответ написан
    Комментировать
  • Как сделать миграцию с Exchange 2013-2019?

    @NortheR73
    системный инженер
    Надеюсь, документ от Exchange Team ответит на ваши вопросы: Best Practices for Migrating from Exchange 2013 to...
    Ответ написан
    Комментировать
  • [РЕШЕНО] Это провайдерская блокировка или косяк в настройке микротика?

    ValdikSS
    @ValdikSS
    Похоже на проблему с MTU. Убедитесь, что у вас установлен правильный MTU туннеля (1400 должно хватить, инкапсуляция IPsec использует 60-80 байт).
    Ответ написан
  • Какой нативный способ найти и заменить hex-шаблон байт в Windows?

    @NortheR73
    системный инженер
    Вроде бы с помощью cmd и Powershell такое провернуть нельзя
    это кто вам такое сказал?
    Гугл выдает кучу вариантов - пример
    Ответ написан
    1 комментарий
  • Как указать явно куда устанавливать pip пакеты?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    А зачем вам --user и become_user, если вы вручную их не делали?
    - name: python libs installation
      ansible.builtin.pip:
        name: launchpadlib
      become: yes
    Ответ написан
    Комментировать
  • Где windows хранит путь к перемещенным папкам профиля?

    Хранит оно в реестре, но это вполне может меняться с обновлениями.
    Лучше использовать это:
    https://learn.microsoft.com/en-us/windows/win32/sh...
    Ответ написан
    1 комментарий
  • Где windows хранит путь к перемещенным папкам профиля?

    @NortheR73
    системный инженер
    в реестре хранит
    HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

    Перемещенные папки пользовательских профилей, как правило, хранятся централизованно на каком-то сетевом диске - попробуйте бэкапить этот сетевой диск...
    Или задача несколько другая и тут впору использовать теневые копии?
    Ответ написан
    Комментировать