Rose debug info
---------------

marand.ru

Как установить приложение из Microsoft Store без регистрации

Microsoft со своим стором только усложняет жизнь простым людям, которым не нужна учетка для пользования своим компьютером. Например, что бы скачать плагин поддержки HEIF/HEIC нужно регистрироваться/логинится с учетной записью microsoft.

Но есть способ проще.

Открываем скрипт, нажимаем кнопку RAW, затем Файл — Сохранить как(или ctrl + s). Запускаем, вставляем ссылку на приложение в Microsoft Store и начнется скачивание приложения.

Да, вид ссылки должен быть такой:

https://www.microsoft.com/store/apps/9pmmsr1cgpwg
https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg
https://www.microsoft.com/ru-ru/p/heif-image-extensions/9pmmsr1cgpwg

Выбираем нужную платформу и устанавливаем. Если не знаете какая, пробуйте x64, с расширением appx.

Если Windows вдруг спрашивает чем открыть .appx, то проще будет установить через PowerShell:

Add-AppxPackage -Path "C:\Path\to\File.Appx"

macOS ошибка подключения exfat диска

Внезапно перестал монтироваться внешний жесткий диск wd my passport отформатированный в exfat. Проверил вод windows — все ок, а macos не видит и всё.

Решение:

sudo pkill -f fsck

Такое бывает из-за некорректного отключения диска, fsck (file system consistency check) пытается восстановить файловую систему, но так как exfat не поддерживает журналирование, получается проблема :(

 Нет комментариев    21   2 мес   howto   macos

Регистрация COM компоненты 1С Предприятия comcntr.dll (V83.ComConnector)

Для 32-х битных систем

regsvr32 "c:\program files (x86)\1cv8\<версия_1С>\bin\comcntr.dll"

Для 64-х битных систем

C:\Windows\SysWOW64\regsvr32 "C:\Program Files\1cv8\<версия_1С>\bin\comcntr.dll"

Удаление

Просто добавляем ключ /u.
Например:

C:\Windows\SysWOW64\regsvr32 /u "C:\Program Files\1cv8\<версия_1С>\bin\comcntr.dll"
 Нет комментариев    102   3 мес   1C

Установка Wireguard на edgerouter

Wireguard отличная альтернатива openvpn. А по части настройки так вообще на три головы впереди.

Ставим wireguard

Идем на github и копируем ссылку на deb пакет в зависимости от прошивки и модели роутера. В моем случае это e50-v2-v1.0.20211208-v1.0.20210914.deb

user@ubnt:~$ curl -OL link-to-deb
user@ubnt:~$ sudo dpkg -i e50-v2-v1.0.20211208-v1.0.20210914.deb

Генерируем ключи:

wg genkey | tee /config/auth/wg.key | wg pubkey >  wg.public

Приватный ключ будет лежать в /config/auth/wg.key, публичный в текущей директории. Потом публичный ключ можно посмотреть командой sudo wg show

Настраиваем интерфейс на роутере:

configure
set interfaces wireguard wg0 address 192.168.5.1/24
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 route-allowed-ips true
set interfaces wireguard wg0 private-key /config/auth/wg.key

commit
save

Добавляем peer

В приложении Wireguard что на ios, что в macos, что в windows при добавлении нового туннеля ключи генерируются автоматом, нужно только скопировать:

Прописываем публичный ключ роутера, его ip и порт. Обязательно указываем ip адрес устройства, на котором настраиваем — он должен быть уникальным. Например, на телефоне 192.168.5.2, на макбуке 192.168.5.3
Пример конфига для macos и windows:

[Interface]
PrivateKey = приватный ключ пира
Address = 192.168.5.3/32

[Peer]
PublicKey = публичный ключ роутера
AllowedIPs = 192.168.5.0/24, 192.168.1.0/24 // указываем сети, в которые нужен доступ
Endpoint = ip:51820 //внешний адрес роутера
PersistentKeepalive = 15

Добавляем peer в конфиг роутера

configure
set interfaces wireguard wg0 peer публичный_ключ_пира1 allowed-ips 192.168.5.2/32
set interfaces wireguard wg0 peer публичный_ключ_пира2 allowed-ips 192.168.5.3/32
commit
save

Настраиваем файрвол

configure
set firewall name WAN_LOCAL rule 20 action accept
set firewall name WAN_LOCAL rule 20 protocol udp
set firewall name WAN_LOCAL rule 20 description 'WireGuard'
set firewall name WAN_LOCAL rule 20 destination port 51820
commit
save

Все, vpn настроен, доступ в домашнюю сеть есть как с телефона, так и с ноутбука.

 Нет комментариев    101   4 мес   edgerouter   howto   vpn

Необходимые права для учетки MSSQL

Для того что бы mssql мог писать в сетевую шару, ему нужно сделать доменную учетку, например.

Для корректной работы, нужно в локальных политиках добавить следующие права:

  • Log on as a batch job (Входить в рамках выполнения пакета команд),
  • Replace a process-level token (Заменять маркер безопасности процесса),
  • Bypass traverse checking (Проходить сквозь каталоги, на которые этой учетной записи не предоставлены разрешения)
  • Adjust memory quotas for a process (Настраивать квоты на использование памяти для процесса)
 Нет комментариев    102   4 мес   howto   mssql
 Нет комментариев    102   5 мес   1C   howto
 Нет комментариев    107   5 мес   howto

Сброс конфигурации свитчей Cisco

Краткая шпаргалка по сбросу конфигурации свитчей Cisco на ios.

Если логин/пароль известны, логинимся и вводим:

cisco_bb# write erase
Erasing the nvram filesystem will remove all files! Continue? [confirm]y[OK]
Erase of nvram: complete
cisco_bb#
cisco_bb# reload

Если доступа к конфигу нет, то включаем свитч с зажатой кнопкой mode.
Дальше в консоли появляется что-то такое, после чего отпускаем кнопку:

The system has been interrupted prior to initializing the
flash filesystem.  The following commands will initialize
the flash filesystem, and finish loading the operating 
system software:
 
    flash_init
    load_helper
    boot

Вводим: flash_init

Удаляем файлы конфигурации:

switch: del flash:config.text
switch: del flash:vlan.dat

И командуем загрузку:

switch: boot

 Нет комментариев    111   5 мес   cisco   howto

Уменьшаем размер MSDB

Размер системной базы msdb стал больше 11 гб, настало время ее почистить.

Для начала, посмотрим какая таблица сколько места занимает:

USE MSDB
select t.name as TableName,Min(t.create_date) as CreateDate,ds.name as FileGroupName, SUM(u.total_pages)*8/1024 as SizeMB
from sys.tables as t
inner join sys.partitions as p on t.object_id=p.object_id
inner join sys.allocation_units as u on p.partition_id=u.container_id
inner join sys.data_spaces as ds on u.data_space_id=ds.data_space_id
group by t.name, ds.name
order by sizemb desc

В моем случае это была таблица sysmaintplan_logdetail. Около 10 гб.

Чистим:

USE MSDB
ALTER TABLE [dbo].[sysmaintplan_log] DROP CONSTRAINT [FK_sysmaintplan_log_subplan_id];
ALTER TABLE [dbo].[sysmaintplan_logdetail] DROP CONSTRAINT [FK_sysmaintplan_log_detail_task_id];
truncate table msdb.dbo.sysmaintplan_logdetail;
truncate table msdb.dbo.sysmaintplan_log;
ALTER TABLE [dbo].[sysmaintplan_log] WITH CHECK ADD CONSTRAINT [FK_sysmaintplan_log_subplan_id] FOREIGN KEY([subplan_id])
REFERENCES [dbo].[sysmaintplan_subplans] ([subplan_id]);
ALTER TABLE [dbo].[sysmaintplan_logdetail] WITH CHECK ADD CONSTRAINT [FK_sysmaintplan_log_detail_task_id] FOREIGN KEY([task_detail_id])
REFERENCES [dbo].[sysmaintplan_log] ([task_detail_id]) ON DELETE CASCADE;

После этого обязательно сжимаем базу:

DBCC SHRINKFILE (MSDBData, 512)

Проверяем результат:

SELECT name, size = size * 8. / 1024, space_used = FILEPROPERTY(name, 'SpaceUsed') * 8. / 1024
FROM sys.database_files

И добавить еще очистку логов джобов и бекапов:

DECLARE @DateBefore DATETIME 
SET @DateBefore = DATEADD(DAY, -7, GETDATE())

EXEC msdb.dbo.sp_purge_jobhistory @oldest_date = @DateBefore
DECLARE @DateBefore DATETIME 
SET @DateBefore = DATEADD(DAY, -60, GETDATE())

EXEC msdb.dbo.sp_delete_backuphistory @oldest_date = @DateBefore
 Нет комментариев    101   5 мес   howto   mssql

Ground Control: папка с кешем и новые версии ios

По одному из проектов получил на поддержку несколько сотен айпадов, которые разбросаны по стране. Часть из них предыдущий подрядчик зачем-то настроил ручками — купил домен и зарегистрировал кучу apple id.

Компания международная, есть своя MDM team, которая с помощью GroundControl + VMWare AirWatch управляет девайсами централизовано. Надо только установить. Почему это не сделано изначально? В ответ услышал что-то вроде «Сложно» и «Не разобрались». Пришлось разбираться.

В общем, самый неприятный в настройке момент — выход новой версии ios. Когда апдейт становится доступным для всех известно, но когда его протестируют в команде MDM и опубликуют для обновления корпоративных устройств — тайна. Это может быть день, два или пять. Так как установка AirWatch в обязательном порядке обновляет версию ios, бывали ситуации когда при подключении очередного планшета GC хочет скачать новую прошивку, которая весит 6,5 ГБ. На мобильном интернете это очень долго.

Но выход есть!

Скачиваем прошивку после выхода (например, на ipsw.me или  Enterprise iOS) и не меняя имени файла, кладем в папку с кешем:

MAC:

~/Library/Application Support/GroundControl/Content Downloads/

Windows:

%LOCALAPPDATA%\GroundControl\Content Downloads\

Теперь я закидываю прошивку сразу после выхода и не жду «сюрпризов».

 Нет комментариев    124   7 мес   howto
Ранее Ctrl + ↓