Windows, автоматическое добавление маршрутов при включении VPN.

Если вы заходите на VPN средставами Windows PPTP/L2TP (не CISCO и т. п. сторонними программами), то у вас есть 2 выбора:

  • весь трафик будет идти через VPN
  • только тот, для которого прописаны маршруты.

Первый вариант – по-умолчанию. Но он плох, т. к. если вы скачиваете/загружаете большие объемы информации, то это неплохо грузит маршрутизатор, который раздаёт доступ в VPN (надо шифровать траффик) и увеличивает задержку вашего соединения (пинг).

При втором варианте – нужно при каждом подключени идобавлять маршруты на те подсети, к которым вы хотите иметь доступ, находясь в VPN. Это можно автоматизировать, о чём я и расскажу ниже.

Для начала нужно отключить передачу всего траффика через VPN. Открываем Центр сетей и общего доступа (Networking and sharing center) в Панели Управления и, зайдя в свойства VPN-соединения, отключаем шлюз по-умолчанию:

Disable default gateway

Далее нам надо создать скрипт .netsh, который будет выполняться и добавлять роуты при подключении. Создаём, например, файл C:\scripts\vpn_route.netsh с содержимым:

interface ipv4
add route prefix=192.168.23.0/24 interface="Work_VPN" store=active
add route prefix=172.16.99.0/24 interface="Work_VPN" store=active
exit

где “Work_VPN” – название VPN соединения в Центре управления сетями и общим доступом. Маршрутов может быть сколько угодно, в примере указаны два.

Далее для выполнения всей магии, необходимо создать задачу в Планировщике, которая будет выполняться при подключении. Открываем консоль cmd от администратора и выполняем команду:

schtasks /create /F /TN "VPN Routes Add" /TR "netsh -f C:\scripts\vpn_route.netsh" /SC ONEVENT /EC Application /RL HIGHEST /MO "*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data='Work_VPN']]"

где указываем путь к созданному ранее netsh файлу и снова же имя VPN соединения. Остальное менять не нужно.

Всё.

Ссылки:

  1. https://oxo42.github.io/windows/2015/03/25/windows-add-route-on-vpn-connect

Как открывать CSV файлы в Excel c нестандартным разделителем

По-умолчанию в Excel разделителем считается символ запятой “,” для файлов CSV. Однако, бывает необходимо открывать файлы CSV с другими разделителями (например, “;”) и чтобы при этом Excel автоматически разбрасывал данные по столбикам, а не воспринимал как просто строчку.

Для достижения этого, открываем файл в текстовом редакторе и добавляем в начало строчку с содержимым (включая кавычки):

"sep=;"

где ; – новый разделитель.

Сохранияем файл и открываем его в Excel.

Ссылки:

  1. https://superuser.com/questions/606272/how-to-get-excel-to-interpret-the-comma-as-a-default-delimiter-in-csv-files

Не работает Ctrl+C/Ctrl+V в PyCharm или другой среде на основе Intellij IDEA

Я ставил pyCharm очень давно и вот, когда пришла пора его использовать, я понял, что у меня не работают быстрые комбинации копирования и вставки Ctrl+C и Ctrl+V. Это просто катастрофа) но интернет подсказал решение:

1. Нажимаем Ctrl+Alt+S:

2. В поиске вверху слева вводит vim и отключаем плагин или меняем комбинации кнопок везде с vim на IDE, где найдёт поиск:

Всё, конец мучениям)

Ссылки:

  1. https://intellij-support.jetbrains.com/hc/en-us/community/posts/206835985–SOLVED-Ctrl-V-and-Ctrl-C-doesn-t-work-in-intellij-IDEA-14-0-2

Creative Audigy 2 нет звука на Windows 10 1903/1909/../21H1

Приветствую. Пользуюсь звуковой карточкой Creative Audigy 2 (SB0240). Несмотря на то что звуковой карте уже лет и памяти, звук в ней очень классный – сочные басы и хорошая четкость и разборчивость звучания. На голову лучше встроенных в материнские платы звуковых чипов.

Кстати, этот гайд должен подойти и к карточке Creative Audigy 2 ZS, но насчёт Creative Audigy 2 SE я не уверен, т к это урезанная версия и у неё другие драйвера.

Всё было отлично, но после обновления Windows 10 на версию 1903 (тоже самое будет и с 1909) перестала работать эта звуковая карта. После поиска решения, у меня заработало следующее:

1. Сначала удалите все драйвера для звуковой карты.

Есть альтернативный пак драйверов от энтузиаста (Daniel_k), который можно найти [здесь]. Скачиваем этот драйвер пак и распаковываем. В папке KillDrvX запускаем KillDrvX.exe от Администратора и убиваем старый драйвер, чтобы можно было полностью его деинсталлировать.

Затем удаляем драйвера из Панели управления -> Программы и компоненты или путём запуска инсталлятора и выбора пункта Деинсталляции) и затем само устройство из Диспетчера Устройств.

Затем перезагружаем ПК.

2. Переходим в папку с драйвер паком, скачанным ранее, и запускаем инсталляцию тип Full Installation или можно Custom и отметить что вам нужно (можно ставить всё, кроме софта Dolby – он платный). Крайне желательно ничего не делать в это время и не дёргать компьютер. Если во время установки будет ругаться, что не может создать ярлыки, то кликаем Пропустить/Игнорировать – ничего страшного в этом нету, создадим ярлыки потом сами (Ctrl+Shift+Перетаскивание исполняемого файла из папки, куда установится драйвер пак – по-умолчанию это C:\Program Files (x86)\Creative\SBAudigy2 и там в подпапках есть Эквалайзер и прочие утилиты).

Перезагружаем ПК, когда инсталлятор попросит, и проверяем звук.

3. Если звука по прежнему нет (как и было в моём случае), то нам нужно “подкормить” операционной системе файл драйвера от производителя.

Для этого скачиваем драйвер [Отсюда]. Вводим капчу и открываем скачанный файл в архиваторе (7-zip к кпримеру) и распаковываем. Папка будет что-то вроде “SBA5_PCDRV_L11_3_01_0056B”.

Переходим в поддиректорию Audio -> DriversWin10 -> wdm. Находим файл “wdma_emu.inf“, щелкаем правой кнопкой мыши и в контекстном меню выбираем Установить (Install).

Перезагружаемся и наслаждаемся хорошим звуком.

UPDATE:

Сейчас проапдейтил Windows до 21H1 – карточка работает без проблем.

Ссылки:

  1. https://answers.microsoft.com/en-us/windows/forum/all/no-sound-after-windows-10-update-1903-or-1909-but/9abd44d2-bf95-46f9-ade3-55b8fc798f29
  2. http://danielkawakami.blogspot.com/2017/01/sb-audigy-series-support-pack-62.html
  3. https://support.creative.com/downloads/download.aspx?nDownloadId=100229

Installation of .net framework 3.5 on Windows Server 2012

(пост из старых заметок)
If you have Windows Server 2012 iso file or DVD, you can install .net framework 3.5 on Windows Server 2012 easly.
1. You have to insert Windows Server 2012 DVD or iso to D drive (change letter according to your configuration).
2. Open Add Roles and Features Wizard
3. Select .NET Framework 3.5 Features and then click next,
4. Select Specify an alternate source path link in the Confirm installation selections screen.
5. Path: D:\Sources\SxS and then click OK.
6. Finally click Install button.

Cisco Mobility Anyconnect клиент не хочет подключаться из RDP

Если у вас при попытке подключения к VPN с помощью Cisco Mobility Anyconnect клиента в RDP-сессии выскакивает ошибка:
AnyConnect was not able to establish a connection to the specified secure gateway. Please try connect again and and VPN Establishement Capability from a Remote Desktop is disabled
то вам сюда 🙂
Чтобы получить возможность подключаться к VPN из RDP-сессии, нужно отредактировать конфигурационный файл, т. к. этой опции нет в GUI настройках. Находится файл в папке C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile, а вот называться он может по-разному, в зависимости от конкретного VPN, к которому подключаетесь. В любом случае, лежит он там и имеет расширение .xml. Или их несколько – если у вас несколько VPN. Например, Contractor.xml. Находим там строчку:
<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>
и меняем её на:
<WindowsVPNEstablishment>AllowRemoteUsers</WindowsVPNEstablishment>
Всё, теперь клиент должен подключаться, если вы зашли по RDP.
Источники:

  1. https://supportforums.cisco.com/t5/vpn/anyconnect-was-not-able-to-establish-a-connection-to-the/td-p/2634409

Cisco AnyConnect Secure Mobility Client profiles

Есть не совсем очевидная настройка для Cisco AnyConnect Secure Mobility Client – профили. Нужны они для того, чтобы не вводить каждый раз адрес VPN. Удобно, если периодически приходится переключаться между разными VPN.
Профили для ОС Windows находятся в файле (если его нет – создайте):
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\profiles.xml

Похоже, что в новых версиях код между <ServerList> </ServerList>надо добавлять в файл:

C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Clients.xml

Для ОС Linux/Mac путь: /opt/cisco/anyconnect/profile/profiles.xml

Формат такой:

<?xml version=”1.0″ encoding=”UTF-8″?>
<AnyConnectProfile xmlns=”http://schemas.xmlsoap.org/encoding”>
<ServerList>
<HostEntry>
<HostName>VPN1</HostName>
<HostAddress>177.177.177.177</HostAddress>
<User>username</User>
<SecondUser></SecondUser>
<Domain></Domain>
<Group>usergroup</Group>
<ProxyHost></ProxyHost>
<ProxyPort></ProxyPort>
<SDITokenType>none</SDITokenType>
<ControllablePreferences>
<LocalLanAccess>true</LocalLanAccess>
</ControllablePreferences>
</HostEntry>
<HostEntry>
<HostName>VPN2</HostName>
<HostAddress>178.178.178.178</HostAddress>
<User>user2</User>
<Domain></Domain>
<Group></Group>
<ProxyHost></ProxyHost>
<ProxyPort></ProxyPort>
<SDITokenType>none</SDITokenType>
<ControllablePreferences>
<LocalLanAccess>true</LocalLanAccess>
</ControllablePreferences>
</HostEntry>
</ServerList>
</AnyConnectProfile>
Для каждого подключения создается <HostEntry> … </HostEntry>, где теги:

  • <HostName> – просто название подключения, которое будет удобно вам
  • <HostAddress> – доменное имя или IP-адрес хоста, к которому подключаемся

Остальные настройки вроде юзернейма к сожалению не работают. Клиент по-умолчанию использует имя пользователя и группы последнего подключения, который хранится в C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\preferences.xml.

TCP dump в Wireshark без служебной информации.

Например, нам необходимо посмотреть в Wireshark дамп, но служебная информация вроде ретрансмиссии, дубликатов пакетов (в случае бондов) и прочего мешает анализировать. Чтобы не отображать её применяем фильтр:
!tcp.analysis.flags

Как посмотреть Service Tag / Server Tag сервера.

Иногда нужно узнать серийный номер сервера из консоли ОС.
Для Windows:

открываем CMD и нам на помощь прийдут 3 WMI команды:

wmic bios get serialnumber
wmic csproduct get vendor,name,identifyingnumber

Результат будет примерно таким:

IdentifyingNumber    Name                Vendor
ABCDEF1              PowerEdge 2950      Dell Inc.

wmic /user:administrator /node:remote-host bios get serialnumber

а эта комана выводит серийный номер удаленного сервера:

SerialNumber
ABCDEF1

Для корректной работы этих команд должна быть хотя бы в режиме Manual служба Windows Management Instrumentation.

Для Linux:

используем команду

dmidecode -s system-serial-number