• Структура и железо для 1С и MS SQL + терминал, как лучше?

    @kalapanga
    Не о том Вы спрашиваете. Ваш вопрос должен быть - почему
    сейчас 1С работает плохо
    Вот когда выясните, что конкретно является причиной Ваших проблем, тогда и будете смотреть, как эту причину лечить. Для выяснения причин рекомендую обратиться к специалистам по 1С в Вашем городе или онлайн-конторам (типа того же Гилева).
    А с Вашим нынешним подходом с вероятностью 90% у Вас после апгрейда железа не изменится ничего или изменится крайне незначительно. Стоимость такого апгрейда у Вас из зарплаты не вычтут?
    Ответ написан
    2 комментария
  • Структура и железо для 1С и MS SQL + терминал, как лучше?

    Если память не изменяет, то MSSQL любит ОЗУ, а вот 1с работает на 1 ядре, то есть больше ядер != лучше работает, а вот выше частота = лучше работает, это так.

    Разнести отдельно базу и программу это хороший вариант, в моей компании именно так, что база в одном месте, программа в другом, так и безопасно в случае отказа системы.
    Ответ написан
    Комментировать
  • Как уменьшить время на удаление (30 дней) после перемещения ящика Exchange в другую базу?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вам точно нужно уменьшить именно whitespace (т.е. выпонить дефрагментацию БД), а не удалить из базы п/я, которые в ней остались в состоянии SoftDeleted (их можно увидеть командой Get-MailboxStatistics в EMS для БД, где они были)? Если нужно на самом деле удалить оставшиеся п/я (которые там по умолчанию болтаются упомянутые 30 дней), испольуйте команду Remove-StoreMailbox.

    PS Дефрагментация же БД (онлайновая) идет сама по себе своим чередом и обычно кушать не просит. Ну а автономная (offline) дефрагментация, с помощью eseutil - это вообще средство на крайний случай.
    Ответ написан
    4 комментария
  • Как удаленно удалить офис?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Для полного удаления всех офисов есть официальный Microsoft office uninstaller от MS.
    Ответ написан
    Комментировать
  • Как сейчас правильно переносить Windows с одного накопителя на другой?

    @apppostol
    Способы все те же что и были. Acronis, paragon и так далее.
    Иногда их урезанные версии предоставляют изготовители самих дисков, либо даже свои фирменные утилиты под эти задачи.
    Ответ написан
    Комментировать
  • Можно ли удалить вложения из писем?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Иной способ существует: написать скрипт, проходящий по всем письмам в п/я и удалить из них вложения. Комндлета для EMS для этого нет (AFAIK), но в PowerShell для этого можно использовать EWS Managed API.

    Только вот написать скрипт, да ещё чтобы он работал без ошибок и ничего не попортил в процессе отладки - это не так просто. Да и разрешения нужно ему дать (стандартных разрешений админинистратора не хватит). Так что лучше IMHO этим не заморачиваться, а для повышения радивости пользователей поставить им квоты на п/я: пусть чистят сами.
    Ответ написан
    1 комментарий
  • Почему ошибка "не удается найти свойство IPv4Connectivity"?

    @0x0f80
    Потому что не у всех интерфейсов есть свойство IPv4Connectivity. Можно добавить такую проверку на наличие свойства перед его использованием:
    $ClientIPv4Address = $(Get-NetIPConfiguration | Where-Object {
        $_.NetProfile -and $_.NetProfile.PSObject.Properties['IPv4Connectivity'] -and $_.NetProfile.IPv4Connectivity -eq 'Internet'
    }).IPV4Address[0].IPAddress
    Ответ написан
    3 комментария
  • Как быстро узнавать название пк пользователя чтобы каждый раз не идти в систему учёта?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Вариантов много:
    1. Создавать dns alias c логином сотрудника на имя компа, например inanovii -> W00020.
    2. Если есть AD, написать startup скрипт, который будет в один из пустых extension AD атрибутов уз пользователя писать имя компа.
    Ответ написан
    Комментировать
  • В какую сторону копать чтобы настроить развертывание по best practice?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    SCCM конечно. Ну или GPO.
    Очень и очень странный вопрос.
    Ответ написан
    Комментировать
  • Как узнать список поддерживаемых видеокарт Win Srv 2016?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    RTX 3060 не является видеокартой для 3Д проектирования, в ней запрещены определенные вычисления и ускорение отрисовки кривых.
    Инженерная графика ускоряется хорошо встройкой Intel 8-го поколения и выше (но драйверы под 2016 существуют только для процессоров 9ххх серии, и то придется поискать древнее старьё).
    Если в вашем случае встройки не хватает - нужно использовать Quadro от T1000 и выше, и от 4Гб оперативки. Для них про драйвера под 2016 не уверен...
    Лучше всего подумать над апгрейдом сервера терминалов до 2019, а лучше сразу до 2022, т.к. некторые продукты CAD новых версий - не могут быть поставлены даже на 2019.
    Ответ написан
  • Как в Powershell быстро определить заблокирован ли .exe с помощью Windows Firewall?

    @MaxKozlov Куратор тега PowerShell
    медленно, ну потому что медленно :)

    Для доступа к правилам оно использует всякие DCOM интерфейсы, что небыстро по определению
    Вон как там всё непросто

    Для ускорения можно попробовать в обратную сторону

    Get-NetFirewallApplicationFilter | Where-Object { $_.Program -eq $exePath } | Get-NetFirewallRule


    Причём мой вариант будет правильнее. потому что он на выходе получает не ApplicationFilter, а правило, которое можно проверить. Может оно вообще разрешающее, а не запрещающее и его надо менять/удалять.

    А проверка нескольких exe должна делаться не через цикл, как может показаться на первый взгляд, а через массив

    $progs = 'exe1.exe', 'exe2.exe'
    Get-NetFirewallApplicationFilter | Where-Object { $_.Program -in $progs } | Get-NetFirewallRule


    P.S. А вот от такого вообще надо избавляться
    | Where-Object { $_ }
    Это бессмысленный код в данном контексте
    Ответ написан
    Комментировать
  • Какими настройками разрешений запретить открытие файла?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    1. Назначить для User1 стандартное разрешение "Список содержимого папки"
    2. Убедиться, что нет менее ограничивающих разрешений для каждой из групп (и псевдо-групп, типа "Прошедшие проверку"), куда входит User1.

    PS По жизни разрешения лучше назначать не отдельным пользователям, а группам. Т.е., в данном случае - создать группу, куда входит только User1 и дать разрешения этой группе. Так будет проще что-нибудь поменять, когда потребуется: заменить User1 на другого пользователя и т.п. А по жизни поменять что-нибудь потребуется обязательно.
    Ответ написан
    3 комментария
  • Достучаться до IKEV2: почему не работает на Win?

    CityCat4
    @CityCat4 Куратор тега VPN
    //COPY01 EXEC PGM=IEBGENER
    У Вас проблемы с клиентским сертификатом (юзера) или с серверным (сервера)? И у того и у другого есть отдельные специфические требования именно для винды
    Ответ написан
    Комментировать
  • Почему в Powershell ошибки прав доступа при выполнении New-Item и Remove-Item не попадают в блок catch?

    @MaxKozlov Куратор тега PowerShell
    Drovosek01, в catch{} не попадает потому что ошибка не блокирующая
    Remove-Item [-Path] <System.String[]> ....
    За раз можно удалять несколько объектов. и при ошибке удаления одного процесс не прерывается, а продолжается, если об этом не попросить

    -ErrorAction Stop правильный ответ
    Ответ написан
    Комментировать
  • В чем причина ошибки Ms exchange 2013?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Эта ошибка означает, что возникло исключение при обработке некого сообщения. Не исключено (но и не факт), что это произошло из-за вмешательства этой самой DLP системы.
    Сообщение вызывающее исключении при обработке, помещается в очередь Poison message queue. Смотрите там - если сообщение есть, конечно: например, ваша DLP могла его удалить внезапно для службы транспорта Exchange, тип исключения вполне такому сценарию соответствует. Если подозреваете DLP - сопоставьте ваш лог Exchange с логом DLP на момент возникновения исключения, чтобы понять, что делала в этот момент DLP.
    Ответ написан
    3 комментария
  • Восстановление контроллера домена из бекапа veeam в песочнице, какой вариант лучше?

    @SunTechnik
    При разворачивается стенда, потенциально, есть проблема с ip адресом

    Либо надо строить изолированную подсеть.
    Причём, если тестовый клиент - физическая машина, то надо настраивать отдельный vlan или использовать отдельный интерфейс на сервере, если есть свободный. Но в этом случае, песочница не будет иметь выход в интернет.

    Есть вариант смены ip на контроллере. Но это отдельная процедура, но даже в этом случае лучше использовать отдельную физическую сеть (vlan), так как часть сервисов работает на broadcast.
    Ответ написан
    Комментировать
  • Как сделать cmd скрипт с меню?

    Fzero0
    @Fzero0
    Вечный студент
    66a8c275f0e45957351604.png
    Зачем вам эта командная строка делайте сразу с UI на PowerShell
    Add-Type -AssemblyName System.Windows.Forms
    
    # Создание формы
    $form = New-Object System.Windows.Forms.Form
    $form.Text = "Выбор системы питания"
    $form.Size = New-Object System.Drawing.Size(300, 200)
    $form.StartPosition = "CenterScreen"
    $form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedSingle
    $form.MaximizeBox = $false
    
    # Создание метки
    $label = New-Object System.Windows.Forms.Label
    $label.Text = "Выберите схему питания:"
    $label.AutoSize = $true
    $label.Location = New-Object System.Drawing.Point(10, 20)
    $form.Controls.Add($label)
    
    # Создание радиокнопок
    $radioButton1 = New-Object System.Windows.Forms.RadioButton
    $radioButton1.Text = "ЭНЕРГОСБЕРЕГАЮЩАЯ"
    $radioButton1.AutoSize = $true
    $radioButton1.Location = New-Object System.Drawing.Point(10, 50)
    $form.Controls.Add($radioButton1)
    
    $radioButton2 = New-Object System.Windows.Forms.RadioButton
    $radioButton2.Text = "СБАЛАНСИРОВАННАЯ"
    $radioButton2.AutoSize = $true
    $radioButton2.Location = New-Object System.Drawing.Point(10, 75)
    $radioButton2.Checked = $true
    $form.Controls.Add($radioButton2)
    
    $radioButton3 = New-Object System.Windows.Forms.RadioButton
    $radioButton3.Text = "ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ"
    $radioButton3.AutoSize = $true
    $radioButton3.Location = New-Object System.Drawing.Point(10, 100)
    $form.Controls.Add($radioButton3)
    
    # Создание кнопки
    $button = New-Object System.Windows.Forms.Button
    $button.Text = "Выбрать"
    $button.Location = New-Object System.Drawing.Point(10, 130)
    $button.Add_Click({
        if ($radioButton1.Checked) {
            $selectedOption = "ЭНЕРГОСБЕРЕГАЮЩАЯ"
        } elseif ($radioButton2.Checked) {
            $selectedOption = "СБАЛАНСИРОВАННАЯ"
        } elseif ($radioButton3.Checked) {
            $selectedOption = "ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ"
        }
        [System.Windows.Forms.MessageBox]::Show("Выбрана схема питания: $selectedOption", "Результат")
        $form.Close()
    })
    $form.Controls.Add($button)
    
    
    
    # Отображение формы
    $form.Add_Shown({$form.Activate()})
    [void]$form.ShowDialog()
    Ответ написан
    5 комментариев
  • Как сообщить DNS серверу о смене айпи?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    ipconfig /registerdns
    Ответ написан
    2 комментария
  • Как из скрипта ps1 запустить другой powershell скрипт ps1 и передать ему массив аргументом?

    @MaxKozlov Куратор тега PowerShell
    Вы слишком много хотите от Start-Process :)
    Это просто winapi, которое не знает о том, что в качестве аргумента может быть не строка.
    Поэтому всё упирается в интерпретатор параметров, который в вызываемом скрипте.

    Я в своём примере в том самом вопросе не зря в called добавил ещё и вывод $args
    Если в первом скрипте аргументы формировать как
    $argumentList = '-noprofile', '-noexit', '-File', 'd:\called.ps1', "-FilePath `"$filepath`""
    $argumentList += $patterns

    А второй сделать как
    param(
      [string]$FilePath #,
    #  [array]$Patterns
    )

    То во втором именно в $args попадёт содержимое массива
    Но по любому второй скрипт должен знать, что ему куда передают

    Поэтому я такую проблему решал бы вообще с другой стороны :)

    Достаточно добавить в запускающий скрипт #requires -RunAsAdministrator
    и тогда запускаемому можно передавать всё что угодно, ведь его не надо будет запускать через
    Start-Process, а можно будет просто вызывать из первого
    Ответ написан
    2 комментария
  • Как правильно списывать ИТ оборудование в компании?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ЕМНИП, сейчас лимиты такие, что практически всё компьютерное железо можно списывать как малоценку безо всяких обоснований. Но, вообще, списанием должна заниматься бухгалтерия, а не сисадмин.
    Ответ написан
    4 комментария