Задать вопрос
  • Не грузятся локальные ресурсы (битрикс, почта) через L2TP, как проверить причину?

    b1ora
    @b1ora Куратор тега MikroTik
    Контакты в профиле
    Смотреть в сторону mtu/mss на L2TP, поставить 1400 или ниже по результатам тестирования
    Ответ написан
    Комментировать
  • Бесплатный способ отправить уведомление на телефон админа через web API?

    @Everything_is_bad
    дергай телеграм бота, простой http запрос
    Ответ написан
    Комментировать
  • Как в macOS 15 подключиться к Windows по RDP?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Чем frontend разработчик занят на реальных проектах?

    С резким ростом популярности React Server Components и Next.js в последнее время происходит некий сдвиг в понимании, что такое фронтенд.
    BFF уже почти становится неотъемлемой частью "фронтенда", и становится обременительно разделять браузер и сервер на разные команды.
    На Западе, вообще, уже очень давно и макетами, и вёрсткой, и анимациями очень часто занимается один человек - дизайнер, фронтендеры занимаются связкой браузер + BFF, а бэкендеры занимаются более сложной бизнес-логикой.
    К тому же, джуниорам зачастую дают те задачи, которыми сами не хотят заниматься, и на что нет времени. Т.е. это что-то занудное, работа с legacy, передвижение кнопки на 5px влево и т.д. Крайне редко джуниорам дают интересные творческие задачи. Не факт, что вам на новом месте не дадут такие же неинтересные задачи.
    Вы можете либо молча сильно стараться в надежде, что вам потом дадут что-то интересное, заметив ваше рвение, либо, лучше всего, пообщаться по-человечески с коллегами и начальством, объяснив, что вы рветесь в бой, а вас в тылу держат. Попросите рассказать об их планах на ваш счёт.
    Не исключено, что у вас как раз хорошо получается "Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД", и поэтому вам эти задачи и дают)
    В общем, человеческое общение с коллегами очень часто решает проблемы.
    Если же вы к ним придёте с открытой душой, а вас токсично отошьют, вот тогда подумайте о смене работы.
    Ответ написан
    7 комментариев
  • Как реализовать удаление файлов(директорий) с HDD в рамках работы с dag в airflow?

    Razgildai
    @Razgildai Автор вопроса
    Изучаю Python...
    Вопрос решен.
    Смог какое как наладить доступы для удаления файлов.
    Правда удалять директории приходиться не с помощь shutil.rmtree(path_dir_file) напрямую, а сначала чистить директорию, и после этого удалять, т.к. начала возникать ошибка о том что директорию удалить не удается, но при этом она удалялась. Связано это я так понял было с тем что скрипт удаляет данные, но информация о удалении слишком долго обновляется на hdd, в итоге python думает что удалить ничего не вышло, но фактически директория была удалена.
    Решил это вот таким образом.
    for root, dirs, files in os.walk(path_dir_file, topdown=False):
                for file in files:
                    try:
                        os.unlink(file)
                        os.sync()  # синхронизируем
                    except OSError as e:
                        if not os.path.exists(file):  # проверяем удален ли файл
                            continue
                        raise
                shutil.rmtree(path_dir_file) # только теперь удаляем директорию

    Для HDD в /etc/fstab пришлось указать такие параметры
    UUID=UUID-HDD /mnt/sdb1 ntfs rw,sync,noatime,relatime,uid=UUID-AIRFLOW,gid=UUID-AIRFLOW,force,dmask=002,fmask=113,nofail 0 0


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

    @Gadion Автор вопроса
    Действительно, 25 порт их сервера недоступен только с айпишника моего. Из других сетей телнетом захожу успешно. Похоже, мой айпишник у них забанен. Или у их провайдера.
    Ответ написан
    Комментировать
  • Как правильно оформить вопрос на QNA.Habr, чтобы получить ответ?

    @rPman
    Первая проблема задающих вопрос (не только на хабре а вообще) - это дано недостаточно информации. Из вопрошающих приходится чуть ли не клещами выбивать ее.

    Выдавай максимум информации. Что есть, что хотел, как думал решать, как получилось, как не получилось.

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

    hint000
    @hint000
    у админа три руки
    Адреса IP - мир и 239.255.....
    Этот адрес - multicast от провайдера для вашего телевизора. Услуга IP-TV и всё такое.
    Еще у меня вдруг резко пропадает место на компьютере
    С компьютера IP-TV смотрите? А на паузу иногда жмёте? Вот как нажали на паузу, так и начало пропадать место, записывать-то куда-то надо, чтобы с задержкой воспроизвести. И будет место пропадать, пока не закроете эту трансляцию. Закрыли - очистилось.
    Ответ написан
    3 комментария
  • Как задать команды администраторам чата в частной супергруппе Telegram?

    Узнайте и укажите целочисленный идентификатор вашей группы – например, просто выведите в лог очередной update для бота с сообщением.

    chat_id 	Integer or String 	Unique identifier for the target chat 
    
    or username of the target supergroup (in the format @supergroupusername)


    И, надеюсь, вы прочли, что Command Scopes это только чтобы показывать доступные команды разным группа юзеров. И ничто не мешает рядовому бесправному юзеру прислать боту команду вроде /make_me_admin

    Ответственность только вашего бэкенда – каждый раз проверять, уполномочен ли юзер использовать ту или иную команду, что он прислал.
    Ответ написан
    3 комментария
  • Проблема с установкой виртуальной машины на Astra Linux, не находит драйвер для винды, что делать?

    https://fedorapeople.org/groups/virt/virtio-win/di...

    Скачивание, подключаете вторым CDRom-ом. Нажимаете кнопку «установить драйверы » и устанавливаете virtio storage.

    После установки винды устанавливаете все остальные. Также нужно будет устанавливать драйверы SPICE
    Ответ написан
    Комментировать
  • Как использовать ip адреса из файла hosts как переменную Ansible для настройки Mikrotik?

    akelsey
    @akelsey
    Подставить переменную из инвентори вроде {{ ansible_ssh_host }}

    но проверить перед этим сначала в модуле debug что это то что нужно.

    и ещё замечание, в микротик остутствует python и используется raw метод, а это значит нет идемподентности, т.е. вам нужно самому проверять дубли, в противном случае у вас будет каждый запуск ансибла плодить новые экшены логгинга.

    самый простой способ задавать вменяемый комментарий при создании любого item в микротике, а перед тем как создавать, удалять предыдущий. либо делать проверку с условием.

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

    xez
    @xez
    TL Junior Roo
    Первый вариант.
    Свои файлы пользователь пусть хранит в своей домашней директории.
    Ответ написан
    Комментировать
  • Как распарсить файл в табличной верстке через beatifulsoap?

    Maksim_64
    @Maksim_64
    Data Analyst
    У тебя всегда таблица в htnl используй подходящуюю структуру данных пандас датафрейм.

    import pandas as pd
    from io import StringIO  
    html = '''<!-- SW --><TABLE WIDTH=100%><TD CLASS=pt><A NAME="installed programs">Установленные программы</A><TR><TD><HR></TABLE><TABLE><TR><TD WIDTH=16>&nbsp;<TD WIDTH=16><TD><TD><TD><TD><TD><TD>
    <TR><TD><TD><TD><B>Программа</B>&nbsp;&nbsp;<TD CLASS=cr><B>Версия</B>&nbsp;&nbsp;<TD CLASS=cr><B>Размер</B>&nbsp;&nbsp;<TD><B>GUID</B>&nbsp;&nbsp;<TD><B>Издатель</B>&nbsp;&nbsp;<TD CLASS=cr><B>Дата</B>
    <TR><TD><TD><TD>64 Bit HP CIO Components Installer&nbsp;&nbsp;<TD CLASS=cr>16.2.1&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{F8F948EA-5AEA-4158-8821-A2F788ECE936}&nbsp;&nbsp;<TD>Hewlett-Packard&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>HP LaserJet Pro M201-M202&nbsp;&nbsp;<TD CLASS=cr>15.0.16064.399&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{e71f6d30-080d-43ef-87e0-1ac4d7f8adfa}&nbsp;&nbsp;<TD>Hewlett-Packard&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>HP Unified IO&nbsp;&nbsp;<TD CLASS=cr>2.0.0.434&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{F1390872-2500-4408-A46C-CD16C960C661}&nbsp;&nbsp;<TD>HP&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>HP Update&nbsp;&nbsp;<TD CLASS=cr>5.005.002.002&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{912D30CF-F39E-4B31-AD9A-123C6B794EE2}&nbsp;&nbsp;<TD>Hewlett-Packard&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Mesh Agent&nbsp;&nbsp;<TD CLASS=cr>2022-12-02 22:42:16.000+03:00&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>Mesh Agent&nbsp;&nbsp;<TD>&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>Microsoft Edge&nbsp;&nbsp;<TD CLASS=cr>132.0.2957.115&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>Microsoft Edge&nbsp;&nbsp;<TD>Корпорация Майкрософт&nbsp;&nbsp;<TD CLASS=cr>2025-01-20
    <TR><TD><TD><TD>Microsoft Office LTSC профессиональный плюс 2021 - ru-ru&nbsp;&nbsp;<TD CLASS=cr>16.0.14332.20345&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>ProPlus2021Volume - ru-ru&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>Microsoft Update Health Tools&nbsp;&nbsp;<TD CLASS=cr>3.74.0.0&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{1FC1A6C2-576E-489A-9B4A-92D21F542136}&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>2023-11-14
    <TR><TD><TD><TD>Mozilla Firefox (x64 ru)&nbsp;&nbsp;<TD CLASS=cr>134.0.1&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>Mozilla Firefox 134.0.1 (x64 ru)&nbsp;&nbsp;<TD>Mozilla&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>Mozilla Maintenance Service&nbsp;&nbsp;<TD CLASS=cr>113.0.1&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>MozillaMaintenanceService&nbsp;&nbsp;<TD>Mozilla&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>Office 16 Click-to-Run Extensibility Component&nbsp;&nbsp;<TD CLASS=cr>16.0.14332.20345&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{90160000-008C-0000-1000-0000000FF1CE}&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Office 16 Click-to-Run Licensing Component&nbsp;&nbsp;<TD CLASS=cr>16.0.14332.20345&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{90160000-007E-0000-1000-0000000FF1CE}&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Office 16 Click-to-Run Localization Component [Русский (Россия)]&nbsp;&nbsp;<TD CLASS=cr>16.0.14332.20281&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{90160000-008C-0419-1000-0000000FF1CE}&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>STDU Viewer version 1.6.361.0&nbsp;&nbsp;<TD CLASS=cr>1.6.361.0&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>STDU Viewer_is1&nbsp;&nbsp;<TD>STDUtility&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Update for x64-based Windows Systems (KB5001716)&nbsp;&nbsp;<TD CLASS=cr>8.94.0.0&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{DA80A019-4C3B-4DAA-ACA1-6937D7CAAF9E}&nbsp;&nbsp;<TD>Microsoft Corporation&nbsp;&nbsp;<TD CLASS=cr>2024-10-16
    <TR><TD><TD><TD>VixWin Platinum&nbsp;&nbsp;<TD CLASS=cr>3.50.000&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{81695582-88F8-47A6-8431-C10617AF058A}&nbsp;&nbsp;<TD>Gendex&nbsp;&nbsp;<TD CLASS=cr>2023-05-19
    <TR><TD><TD><TD>WinRAR 6.21 (64-разрядная)&nbsp;&nbsp;<TD CLASS=cr>6.21.0&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>WinRAR archiver&nbsp;&nbsp;<TD>win.rar GmbH&nbsp;&nbsp;<TD CLASS=cr>
    <TR><TD><TD><TD>КриптоПро CSP&nbsp;&nbsp;<TD CLASS=cr>5.0.12330&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{50F91F80-D397-437C-B0C8-62128DE3B55E}&nbsp;&nbsp;<TD>Компания КриптоПро&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>КриптоПро ЭЦП Browser plug-in [Русский (Россия)]&nbsp;&nbsp;<TD CLASS=cr>2.0.14816&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{E12CC7EE-36B7-4AAA-924E-2F5CD75BCECF}&nbsp;&nbsp;<TD>Компания КриптоПро&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Платные услуги К1-1&nbsp;&nbsp;<TD CLASS=cr>0.1&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>{E59C5221-50B3-420C-84C0-DF40A1AC280E}&nbsp;&nbsp;<TD>Maximus&nbsp;&nbsp;<TD CLASS=cr>2023-05-18
    <TR><TD><TD><TD>Среда выполнения Microsoft Edge WebView2 Runtime&nbsp;&nbsp;<TD CLASS=cr>131.0.2903.146&nbsp;&nbsp;<TD CLASS=cr>Неизвестно&nbsp;&nbsp;<TD>Microsoft EdgeWebView&nbsp;&nbsp;<TD>Корпорация Майкрософт&nbsp;&nbsp;<TD CLASS=cr>2025-01-16
    </TABLE><BR><BR>
    '''
    table = pd.read_html(StringIO(html),header=[1])[0]
    print(table)


    Все задача решается в одну строчку кода table = pd.read_html(StringIO(html),header=[1])[0]затем выбираешь нужные тебе колонки, параметр header это с какой строки считать имя колонок, на другом примере его значение может, отличатся, по этому можешь его опустить, а выяснить нужные локации колонок, уже после.
    Ответ написан
    3 комментария
  • Как лучше сделать базу данных?

    @Everything_is_bad
    В итоге работа с этой таблицей может стать крайне затруднительной, а в последствии и не возможной.
    это ты придумал

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

    Короче, у тебя нет опыта, ты подобную базы не способен самостоятельно спроектировать. Начни делать правильно, как написано в книгах, оптимизаций займешься потом, с 99% у тебя не будет столько пользователей, чтобы возникли проблемы.
    Ответ написан
    Комментировать
  • Крон внутри докера?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Не нужно "именно внутри контейнера".

    Делайте отдельный контейнер, запускайте с хоста или юзайте оркестратор, в котором есть CronJob.
    Ответ написан
    Комментировать
  • Почему скрипт запуска виртуальной машины перестал работать?

    @rPman
    какое красивое садамаза, скрипт запускает сам себя на javascript являясь bat, да еще и внутри powershell, как это читать и отлаживать, известно только его разработчику :)

    И самое главное, вам точно нужно GUI для смены даты? И уж точно для этого не требуется ни powershell ни повышение прав доступа (хотя может у вас там так настроено)

    У virtualbox есть соответствующие команды VBoxManage, которые можно было просто прописать в текстовом файлике, назвать blablabla.bat и запускать
    upd. нужно считать разницу в миллисекундах между текущим временим и целевым, на bat это сложно, поэтому лучше сразу писать на чем то типа javascript, не изобретая паровоза (и от туда же запускать vboxmanage)

    p.s. кайфую с современного ИИ, который это сумел разобрать и по полочкам разложить этот кошмар
    anthropic:claude sonnet 3.5
    ...
    проанализируй этот скрипт для windows, почему тут сместь cmd и javascript, и начни описание, что именно делают первые строчки
    Давайте разберем этот интересный гибридный скрипт:

    Первые строки скрипта представляют собой "полиглот" - код, который может быть интерпретирован несколькими языками программирования:

    ```
    set @x=0; /*
    @echo off
    ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
    ```

    Это хитрая конструкция, которая:
    1. Начинается как cmd-скрипт (`@set @x=0;`)
    2. Открывает многострочный комментарий в JavaScript (`/*`)
    3. Выключает вывод команд в cmd (`@echo off`)
    4. Проверяет версию Windows и если скрипт запущен без параметров, перезапускает сам себя через cscript.exe в режиме JavaScript

    Последняя строка скрипта:
    ```javascript
    */new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
    ```
    закрывает JavaScript-комментарий и содержит код для повышения привилегий - перезапуска скрипта с правами администратора.

    Это техника самоповышения привилегий (UAC bypass), которая позволяет скрипту перезапустить себя с правами администратора, если он был запущен от обычного пользователя.

    Основная часть скрипта написана на PowerShell и использует Windows Forms для создания графического интерфейса. Согласно документации [learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/api/syste...), скрипт создает форму для ввода даты, которая будет использоваться для настройки BIOS времени виртуальной машины VirtualBox.

    Такая сложная структура используется для:
    1. Обеспечения запуска с правами администратора
    2. Совместимости с разными версиями Windows
    3. Комбинирования возможностей разных языков скриптования Windows

    продолжай дальше анализ, почему там еще и powershell?
    PowerShell используется в этом скрипте для основной функциональности, и его часть начинается после строк:

    ```
    ;@echo off
    ;@Findstr -bv ;@ "%~f0" | powershell -noprofile -command - & goto:eof
    ```

    Эта конструкция особенно интересна, потому что:
    1. Использует Findstr для фильтрации содержимого файла, пропуская строки, начинающиеся с `;@`
    2. Передает отфильтрованное содержимое в PowerShell через пайп (`|`)
    3. Запускает PowerShell без профиля (`-noprofile`) для ускорения загрузки

    PowerShell был выбран для основной части скрипта по нескольким причинам:

    1. **Объектная модель**: Как отмечается в [thenewandshiny.com](https://thenewandshiny.com/powershell-everywhere/), PowerShell работает с объектами, а не с текстом, что делает его более надежным для работы с системными компонентами.

    2. **Удобство работы с GUI**: PowerShell позволяет легко создавать Windows Forms для пользовательского интерфейса, что используется в функции `CustomInputBox`

    3. **Управление VirtualBox**: PowerShell предоставляет удобные средства для запуска процессов и управления VirtualBox через `VBoxManage`

    4. **Работа с датами**: PowerShell имеет мощные средства для работы с датами и временем, что критично для этого скрипта

    Важно отметить, что в скрипте используется разделение на Windows PowerShell и PowerShell Core. Как упоминается в [get-powershellblog.blogspot.com](https://get-powershellblog.blogspot.com/2017/10/wh...), это важно учитывать при работе с разными версиями PowerShell.

    Скрипт использует стандартный формат командлетов PowerShell `Verb-Noun`, хотя, как отмечается в [scoop-docs.vercel.app](https://scoop-docs.vercel.app/docs/misc/Why-PowerS...), такой формат может казаться излишне многословным, но он обеспечивает четкую структуру и понятность команд.

    Основная функциональность скрипта:
    1. Создает GUI для ввода даты
    2. Проверяет корректность введенной даты
    3. Настраивает время BIOS для виртуальной машины VirtualBox
    4. Запускает виртуальную машину с модифицированными настройками времени

    какими строчками настраивается время
    В скрипте время настраивается несколькими ключевыми командами:

    1. Сначала отключается синхронизация времени с хостом:
    ```powershell
    start-process $VB_MANAGE 'setextradata', $vmname, 'VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled 1' -NoNewWindow
    ```

    2. Затем вычисляется смещение времени в миллисекундах:
    ```powershell
    $timeoffset_milliseconds='{0:0}' -f ([datetime]$date - [datetime]::Now).TotalMilliseconds
    ```

    3. И наконец, применяется смещение времени BIOS:
    ```powershell
    start-process $VB_MANAGE 'modifyvm', $vmname, '--biossystemtimeoffset', $timeoffset_milliseconds -NoNewWindow
    ```

    Здесь важно отметить несколько моментов:
    - Используется VBoxManage - утилита командной строки VirtualBox (путь хранится в переменной `$VB_MANAGE`)
    - Смещение вычисляется как разница между желаемым временем (`$date`) и текущим системным временем
    - Параметр `--biossystemtimeoffset` устанавливает смещение времени BIOS в миллисекундах

    После установки времени виртуальная машина запускается командой:
    ```powershell
    start-process $VB_MANAGE startvm, $vmname
    ```

    Похожий подход используется в проекте [github.com/bitbank2/rtc_setter](https://github.com..., где также реализована настройка времени, но для реального RTC (часов реального времени), а не виртуальной машины.

    Важно понимать, что этот скрипт не просто устанавливает время, а именно смещение относительно системного времени хоста, что позволяет виртуальной машине работать с другой датой, но сохранять корректный ход времени.

    Ответ написан
    5 комментариев
  • Как убрать ошибку Microsoft Office при работе с Yandex диском подключенным через WebDAV?

    alexsupra
    @alexsupra Автор вопроса
    root
    Для этого необходимо выполнить команду
    REG ADD HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Common\Identity /t REG_EXPAND_SZ /v basichostallowlist /d "webdav.yandex.ru"
    Ответ написан
    Комментировать
  • Почему останавливается разворачивание ROOK в MINIKUBE?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    ImagePullBackoff какбы намекает, что по одному образу в 2 подах не скачалось и дальше ничего не поднялось.
    P.S. До ныряния в логи надо сначала читать kubectl get events.
    Ответ написан
    Комментировать
  • Как выбрать идеальный умный замок?

    Судя по вашему предыдущему вопросу, вам нужен не умный замок, а СКУД.

    Ни один из выбранных вами замков не отвечает требованию "работа в -30" а также они оба не смогут выполнить другое требование "открытие по коду" и "открытие по отпечатку" когда похолодает или пойдет дождь/наберётся конденсат. (У сяоми даже явно сказано, что конденсат запрещён. А на улице утром, особенно после дождя, будьте уверены, что конденсат будет).

    При установке на улицу рассчитывай только на разблокировку по NFC или через приложение.

    Работу в минус 30 производитель не гарантирует и даже не гарантирует, что откроется механический замок.
    Уверены, что хотите играть в лотерею "а нужно ли мне будет зимой доставать фен и размораживать замок, чтобы попасть внутрь"?
    Ответ написан
    1 комментарий