?

Log in

No account? Create an account

Entries by category: компьютеры

Офигения псто (техподдержка DELL)
rustedowl
Приобрел ноут Dell Latitude E6230, для своих скромных админских нужд. Ноут довольно старый, 2013 или 2014 года выпуска. Ну, естественно, первым делом я полез на сайт Dell чтобы выкачать последнюю версию BIOS. Все в курсе, что обычно сайты вендоров бесполезны, и дрова на них едва ли не старше самих ноутбуков.
Каково же было мое удивление, когда я увидел что собой представляет сайт техподдержки Dell! Они выкладывают ВСЕ новые драйвера и утилиты, в том числе и под новые ОС (на ноуте была наклейка Windows 7). И под "все" я имею в виду и те, что не принадлежат Dell'у - драйвера для видеокарты, драйвера чипсета, драйвера звуковухи... блин, они даже выкладывают прошивки SSD для тех моделей, с которыми ноут поставляется! И все свежайшее - скажем, драйвер чипсета - от 1.03.2018, драйвер тача - 10.04.2018.
В общем, я приятно удивлен.

Android 8 и карта памяти в ext4
rustedowl
В прошлом я уже поднимал эту тему, и там оказалась сплошная печаль с правами. То есть, каждая программа назначала владельцем созданного файла себя и права 600. Сделал фотку - сможешь посмотреть ее только в фотоаппарате, про галерею забудь. Ну или не забывай время от времени делать chown media_rw:media_rw на всю sd-карту.
Однако, недавно мне встретилось упоминание, что новые андроиды общаются с SDшкой через специяльного демона, который назначает права сам (media_rw и 644). Решил проверить.
Отформатировал карточку памяти в ext4, сфоткал фотку, запустил галерею - все показывает. Ура!

А потом попробовал залить все что на карте памяти было обратно в телефон. Пользуюсь я для этого ADB. И... фиг там. Создает папку, но не создает файлы и ничего не копирует. Бился я с этим бился, а потом как-то случайно зашел на карту памяти по другому пути. И все замечательно скопировалось и правильные права выставились.
В итоге, делюсь:
/mnt/media_rw/%UUID% - не работает. Направление только "с телефона на компьютер", и то могут быть сбои.
/storage/%UUID% - работает замечательно.
Так что если у вас Android 7 и старше (про 6 не знаю, не пробовал) можете забить на звезданутую реализацию FAT32 и SDCardFS в андроиде и смело воткнуть на карту памяти ext4. Тесты скорости показывают прирост производительности чтения/записи до 20%.

Курощение Firefox 57 (+UPD - Classic Theme Restorer ++FIX Greasemonkey -> ViolentMonkey)
rustedowl
Большую часть моих плагинофф уже портировали в WebExtensions, так что я решил перейти на новую версию. Уж больно она шустрая :)
Процедура перехода по шагам:

Инструкция:Collapse )

Самодельный аналог ScrapBook
rustedowl
Как я уже писал ранее, хромая лиса становится чересчур хромой, чтобы на ней ездить. Одно из моих любимых дополнений к ней, ScrapBookX (позволяло сохранять странички оффлайн) уйдет нахрен вместе с версией 57. Вместе со старыми дополнениями. И полными темами. И-и-и... все. Держаться нету больше сил.
Поэтому я решил сваять себе какую-нибудь альтернативу, чтоб сохранять странички независимо от браузера.
История успехаCollapse )

Remote Assistance - исследование и приготовление
rustedowl
Вообще, Remote Assistance несмотря на множество замечательных функций так и не стал популярен из-за дурацкой реализации его применения. Нужно либо пользоваться MSN, либо электронной почтой для того чтобы прислать тикет... а потом еще и ждать разрешения пользователя сначала на то чтобы подключиться, а потом еще и на то чтобы получить контроль. Крайне неудобно, как по мне - поэтому я им и не пользовался до недавнего времени. Только в заметках была цель - разобраться, как бы его запустить. Ну что ж... разобрался, более-менее.
В доменной среде все просто и понятно, создаете GPO с его настройками, создаете в домене спец.пользователя для этого дела, распространяете политику и пользуетесь. Все хорошо - за исключением подтверждения пользователя, но это легко решается (чуть ниже усё будет).

[Исследование и его результаты]

Я же решил сделать более-менее автоматизированную установку Remote Assistance на любую ОСь старше 7ки, независимо от ее редакции (т.е. без необходимости вызывать gpedit.msc).
Итак, технология включает в себя:
1. Создание пользователя. Тут все сравнительно просто:
[cmd-шник создания пользователя]
wmic group where sid="S-1-5-32-544" get name | findstr /V "Name" > admins_l10n.name
wmic group where sid="S-1-5-32-545" get name | findstr /V "Name" > users_l10n.name
SET /p ADMINS=< admins_l10n.name
SET /p USERS=< users_l10n.name
del admins_l10n.name
del users_l10n.name
net user ИМЯ_ПОЛЬЗОВАТЕЛЯ УЖАСНО_ДЛИННЫЙ_ПАРОЛЬ /add /Y
net localgroup "%ADMINS:~0,-2%" ИМЯ_ПОЛЬЗОВАТЕЛЯ /add
net localgroup "Группа удаленных помощников" ИМЯ_ПОЛЬЗОВАТЕЛЯ /add
net localgroup "%USERS:~0,-2%" ИМЯ_ПОЛЬЗОВАТЕЛЯ /delete
WMIC UserAccount WHERE Name="ИМЯ_ПОЛЬЗОВАТЕЛЯ" Set PasswordExpires=FALSE


Все замечательно отрабатывало, я расслабился и переустановил на виртуалке систему, запустил этот батник от админа... и подключиться не смог. Не добавляется пользователь в группу удаленных помощников, поскольку группы той не существует.
Тогда я начал копать. Группа появляется после применения групповых политик, значит - посмотрим, что при этом происходит. Посмотрел. Записал.
[REG-файл]
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnsolicited"=dword:00000001
"fAllowUnsolicitedFullControl"=dword:00000001
"UseBandwidthOptimization"=dword:00000001
"OptimizeBandwidth"=dword:00000000
"LoggingEnabled"=dword:00000000
"CreateEncryptedOnlyTickets"=dword:00000000
"fAllowToGetHelp"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\RAUnsolicit]
"ИМЯ_ПОЛЬЗОВАТЕЛЯ"="ИМЯ_ПОЛЬЗОВАТЕЛЯ"


Увы, группа при этом не создается, и пользователь в нее не добавляется. Ладно, посмотрим что там за группа... посмотрел:

[REG-файл для создания группы]
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\000003EA]
"C"=hex:ea,03,00,00,00,00,00,00,b0,00,00,00,02,00,01,00,b0,00,00,00,36,00,00,\
00,00,00,00,00,e8,00,00,00,aa,00,00,00,00,00,00,00,94,01,00,00,1c,00,00,00,\
01,00,00,00,01,00,14,80,90,00,00,00,a0,00,00,00,14,00,00,00,44,00,00,00,02,\
00,30,00,02,00,00,00,02,c0,14,00,13,00,05,01,01,01,00,00,00,00,00,01,00,00,\
00,00,02,c0,14,00,ff,ff,1f,00,01,01,00,00,00,00,00,05,07,00,00,00,02,00,4c,\
00,03,00,00,00,00,00,14,00,0c,00,02,00,01,01,00,00,00,00,00,01,00,00,00,00,\
00,00,18,00,1f,00,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,\
00,18,00,1f,00,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,24,02,00,00,01,02,\
00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,00,00,\
00,20,02,00,00,13,04,40,04,43,04,3f,04,3f,04,30,04,20,00,43,04,34,04,30,04,\
3b,04,35,04,3d,04,3d,04,4b,04,45,04,20,00,3f,04,3e,04,3c,04,3e,04,49,04,3d,\
04,38,04,3a,04,3e,04,32,04,00,00,27,04,3b,04,35,04,3d,04,4b,04,20,00,4d,04,\
42,04,3e,04,39,04,20,00,33,04,40,04,43,04,3f,04,3f,04,4b,04,20,00,3c,04,3e,\
04,33,04,43,04,42,04,20,00,3f,04,40,04,35,04,34,04,3b,04,30,04,33,04,30,04,\
42,04,4c,04,20,00,43,04,34,04,30,04,3b,04,35,04,3d,04,3d,04,43,04,4e,04,20,\
00,3f,04,3e,04,3c,04,3e,04,49,04,4c,04,20,00,3f,04,3e,04,3b,04,4c,04,37,04,\
3e,04,32,04,30,04,42,04,35,04,3b,04,4f,04,3c,04,20,00,3d,04,30,04,20,00,4d,\
04,42,04,3e,04,3c,04,20,00,3a,04,3e,04,3c,04,3f,04,4c,04,4e,04,42,04,35,04,\
40,04,35,04,2e,00,00,00,01,05,00,00,00,00,00,05,15,00,00,00,09,b0,b9,7c,20,\
d3,a1,c6,3d,1f,1a,25,e9,03,00,00

[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Names\Группа удаленных помощников]
@=hex(3ea):



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

Решил зайти с другого конца. Раз это групповая политика - то ею наверняка можно как-то управлять. После трех часов исследований я убедился в том, что есть только три пути:
1. gpedit.msc - и далее мышкой.
2. gpedit.msc и далее мышкой, а потом скопировать содержимое C:\Windows\System32\GroupPolicy себе куда-нибудь, затем на другой системе скопировать ее же обратно и сделать gpupdate /force. После этого группа как таковая не появляется, но cmd-шник отрабатывает и подключиться возможно. Однако этот метод оказался не переносим между Windows 7 и Windows 10, и, чуется мне, даже между разными версиями переносим не будет.
3. Домен и AD. Создаем GPO с административным шаблоном и наслаждаемся.

В общем, жопа. Настройка удаленного помощника всегда в первый раз будет ручной и через gpedit.msc
Для тех версий Windows где gpedit.msc отсутствует, добрые дяди с форумов Windows собрали установочник, который ее возвращает. Инструкция и ссылка - здесь.

Ну а теперь немножко мёда для доменного использования. Я уже упоминал в начале поста, что пользоваться Remote Assistance неудобно, поскольку надо ждать пока пользователь соизволит сначала разрешить удаленное управление, а потом еще и перехватить контроль. Один чувак написал простое решение этой незначительной проблемы. Это скрипт на языке AutoHotkey, его можно скомпилировать и распространить по компьютерам.

[Вариант, адаптированный мной под русскую версию Windows 7]
;
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win 7 or higher
; Author: Cyborg
;
; Script Function:
; This script will automatically accept incoming Remote Assistance invitations.
;
; I HIGHLY RECOMMEND you do NOT run this script outside of a domain environment. Do not use this script on your home pc.
;

#Persistent ; Always runs
#NoTrayIcon ; No tray icon, find it in processes
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance ; Only 1 may run
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

RemoteAsst:

SetTitleMatchMode, Fast ; Looks for the visible text in the title.
SetTitleMatchMode, 2 ; Looks for the exact title.

WinWait, Удаленный помощник Windows ; Looks for the first invitation to show screen.
WinActivate
Click 240, 162 ; Click Yes

SetTitleMatchMode, 1 ; Looks for the beginning of a title to match.

WinWait,Удаленный помощник Windows - вам помогает, ; Looks for the RA floating toolbar.
WinMinimize

SetTitleMatchMode, 3 ; Looks for the exact title.

WinWait, Удаленный помощник Windows, , 60 ; Looks for the second invitation to control the pc.
if ErrorLevel ; If no remote control taken within 60 seconds the session is terminated and script starts over.
{
SetTitleMatchMode, Slow
IfWinExist, Удаленный помощник Windows, Сеанс окончен
WinKill
GoSub, RemoteAsst
}
else ; If the Windows Remote Assistant window pops up it will click yes to initiate remote control.
{
WinActivate
Click 240, 180 ; Click Yes
}

SetTitleMatchMode, Slow ; Looks for hidden text in the title.

WinWait, Удаленный помощник Windows, Сеанс окончен ; Waits for the session to end then exits RA.
WinKill

GoSub, RemoteAsst ; Goes to the beginning to wait for another invitation.

Как видим, все очень просто: просто отслеживает окно и нажимает на кнопки. Загрузки процессора при этом я не наблюдал.
ВАЖНЫЙ МОМЕНТ: Обработка окон с кириллицей будет работать только если скрипт сохранен как UTF8-BOM.

Собственно, у меня всё.

Боевое админство: тестирование инструментов удаленного управления в экстремальных условиях
rustedowl
Итак, в виду того что я собираюсь создать некоторое количество девайсов типа "удаленные ручки", я решил протестировать, чем же таким будет лучше всего работать с удаленными машинами. Условия я взял из недавней проблемы - нужно было, используя только телефон и человека на другом конце провода, поменять настройки микротика. Человек на другом конце провода может выполнять только самые простые инструкции, а сам микротик находится в подвальном помещении в четырех часах езды от меня. Связь - 2G с выпадением пакетов.
Нужно было выполнить крайне простую последовательность: создать ярлык cmd - запуск от администратора - ncpa.cpl - адаптер-свойства - ИПв4-свойства - меняем IP-адрес - ОК - OK - Включить, после этого winbox и изменить два параметра. Для тестирования я использовал последовательность без winbox. И так показательно.

В забеге участвуют:

TightVNC
UltraVNC
TigerVNC
RealVNC - просто для сравнения, ибо платный.

AMMYY ADMIN
TeamViewer
DameWare Mini Remote Control - просто для сравнения
RAdmin - просто для сравнения

Remote Assistant
RDP

Отмечу следующую вещь: в EDGE сети пинг лавинообразно вырастает при попытке протащить сквозь канал данные. Чем больше данных пытаешься протащить - тем выше будет пинг, а может и вообще потеряться пакет-другой.
Количество трафика не очень важно, но мне было любопытно - кто самый экономный. Еще интересная вещь - загрузка CPU, вообще для современных машин неактуально но стресс-тест есть стресс-тест, и клиент находится на планшете с процессором AMD Z-01 (1GHz). Тормозной - просто прелесть. Ну а теперь - переходим к делу.

[Результаты следующие:]
TightVNC 2.7.10 - пройдено. Пинги: 147 из 157 получено, 6% потерь, латентность от 260 до 3569, средняя 1003, трафика использовано UP-440,4КB DOWN-639.5KB, ALL-1,1 MB. Загрузка процессора - низкая. Время выполнения действий - 2 минуты 43 секунды. Настройки - 256 цветов, Tight, JPEG Compression - 9. Личное мнение - 8 из 10. Вылетов не было.
Проблема с раскладкой бывает - не все спецсимволы пишутся в консоль адекватно (вместо точки \ и т.д.). Зависит от того, как это будет на момент подключения. Mirror Driver на скорость работы в фиговых условиях не влияет никак, то же касается и остальных VNC.

UltraVNC 1.2.1.1 - провалено. Пинги: 333 из 355 получено, 6% потерь, латентность от 263 до 3901, средняя 978, трафика использовано UP-2,0MB DOWN-75,5KB,ALL-2,1MB. Загрузка процессора - низкая. Время выполнения действий 8 минут 41 секунда. Тут я просто сдался. Настройки - сначала пытался использовать кастомные, но VNC Viewer вылетал с ошибкой 0xc0000409, в режиме AUTO подключился с настройкой Tight - Full Color - JPEG 6. Пользоваться им в этом режиме почти нереально - все очень медленно. Но возможностей и настроек! Личное мнение - 1 из 10. Вылетов - 4.
Проблема с раскладкой так же есть.

TigerVNC 1.6.0 - провалено. Пинги: 49 из 62 получено, 20% потерь, латентность от 286 до 2978, средняя 720. Трафика использовано UP-1,4KB DOWN-1,3KB, ALL-2,7KB. Загрузка процессора - низкая. Время выполнения действий - 1 минута 58 секунд. Аналогично - после 6го вылета я сдался. Настройки - сначала пытался использовать кастомные, для максимальной скорости. Три вылета с ошибкой "Connection reset by peer (10054)". Затем выставил в AUTO, аналогичные три вылета с той же ошибкой. На экране появлялась максимум какая-то стремная мозаика. Пользоваться невозможно. Личное мнение - 0 из 10. Вылетов - 6.

RealVNC 5.3.2 - пройдено. Пинги: 188 из 195, 3% потерь, латентность от 295 до 3354, средняя 983. Трафика использовано UP-259,2KB DOWN-243,8KB, ALL-502,9KB. Загрузка процессора - 100%, начиная с момента подключения, и это самая неприятная особенность. Время выполнения действий - 4 минуты 6 секунд. Настройки - просто "Optimize for best compression". Вылетов не было.
Проблема с раскладкой хуже, чем в рабочих VNC-клиентах: в консоль пишет только на языке по-умолчанию, то бишь на русском.
Личное мнение - 4 из 10. Но имея в виду что это весьма платный софт - я его в расчет не беру. Просто для сравнения.

AMMYY ADMIN 3.5 - провалено. Не смог получить ID.

TeamViewer 11 - пройдено. Пинги: 147 из 149 получено, 1% потерь, латентность от 501 до 2256, средняя 1059. Трафика использовано UP-610,7KB DOWN-267,7KB ALL-878,3KB. Загрузка процессора - 50%. Время выполнения действий - 2 минуты 50 секунд. Настройки - "Оттенки серого" в параметрах скорости. Личное мнение - 8 из 10, по ощущениям TeamViewer работает очень шустро. Возможно, если бы TightVNC умел работать в режиме оттенков серого...
Проблемы с раскладкой тоже не было. По сравнению с TeamViewer 10 разработчики, конечно, сделали большой шаг вперед. Тогда он грузил ноутбучный Turion на 100% и ощутимо лагал.

DameWare Mini Remote Control - попытался скачать триалку с оффсайта. "Мы рассмотрим вашу заявку в течении 2х рабочих дней"? Нахрен! Тем более что она тоже дофига платная.

RAdmin 3.5 - провалено. Русская классика. Даже не помню, когда я ее ставил вообще в последний раз? Еще версия 2.3 была, кажется... не работает, в общем. Показывает окошко соединения и на этом - все. Независимо от настроек. Ну, собственно, когда-то я начал искать альтернативы RAdmin именно из-за этой его особенности - через тощий интернет того времени он был совершенно бесполезен.

LiteManager 4.7.2 - провалено. Пинги: 249 из 272 получено, 8% потерь, латентность от 281 до 3793, средняя 867. Трафика использовано UP-518,6KB DOWN-262KB ALL - 780,6KB. Загрузка процессора - низкая (независимо от настроек, а то есть там такой ползунок). Время выполнения действий - 6 минут 31 секунда. Далее я сдался, это еще медленнее чем UltraVNC, даже окно командной строки открыть не смог.

RDP и Remote Assistant - пройдено. Пинги: 128 из 128 получено, 0% потерь, латентность от 324 до 3472, среднее 930. Трафика использовано UP-518,5KB DOWN-371,3KB ALL-889,8KB. Загрузка процессора - низкая (у Remote Assistant процентов на 5 выше чем у RDP). Время выполнения действий 2 минуты 23 секунды. Настройки - 16 бит цвета, оптимизация под модемное соединение. Личное мнение - 9 из 10 для RA и 10 из 10 для RDP. Вылетов не было. Проблем с вводом данных в консоль не было.

Резюмирую: если нужно максимально быстро, просто и надежно получить доступ к удаленной машине через говенный канал, то:
1. RDP\Remote Assistant если компьютер преднастраивался ранее вами же. Создаем отдельного пользователя и наслаждаемся. Не забываем тщательнейшим образом защищать RDP-сессию.
2. TightVNC, упакованный в самораспаковывающийся архив и снабженный батником с преднастройкой на Reverse Connection - наиболее универсальный метод, но нужно иметь внешний IP-адрес и преднастроенный пакет TightVNC. Почему на втором месте не TeamViewer? Потому что в том самом упомянутом в начале поста случае с микротиком он не получил ID, как и AMMYY ADMIN, и был так же бесполезен.
3. TeamViewer! Можно самому сидеть за NATом, коннект уверенный и достаточно быстрый, и, в отличии от TightVNC, он сам переподключается в случае обрыва. Портативная версия теперь есть непосредственно в инсталляторе - все стало еще проще. Недостаток один - это все-таки платный софт.