Вы можете использовать командную строку PowerShell для генерации QR-кодов, которыми можно поделиться с вашими друзьями или коллегами. Рассмотрим пример использования PowerShell модуля QRCodeGenerator для генерации картинки QR кода, который могут использовать все ваши сотрудники и гости для подключения к вашей Wi-Fi сети (вы же не хотите каждому диктовать пароль ;)).
Модуль QRCodeGenerator можно использовать для генерации png файлов с QR кодами для следующих типов объектов:
- Карточки контактов vCard (визитки);
- Данные геолокации;
- Параметров подключения к WiFi сети.
Вы можете скачать и установить модуль QRCodeGenerator вручную (https://www.powershellgallery.com/packages/QRCodeGenerator/1.1) или через менеджер управления пакетами с помощью команды:
Install-Module -Name QRCodeGenerator
После установки модуля откройте новое окно PowerShell или импортируйте модуль командой:
Import-Module QRCodeGenerator
Измените политику запуска сторонних PowerShell скриптов:
Set-ExecutionPolicy Unrestricted -Scope Process
В модуле имеется три PoSh функции: New-QRCodeGeolocation, New-QRCodeVCard иNew-QRCodeWifiAccess.
Чтобы сгенерировать QR для карточки контактов (vCard), воспользуйтесь следующим скриптом:
$strFirstName = "Dmitriy"
$strLastName = "Adminov"
$strCompany = "WinITPpro"
$strEmail = "[email protected]"
$strPath = "$home\desktop\Contact\vCard.png"
New-QRCodeVCard -FirstName $strFirstName -LastName $strLastName -Company $strCompany –Email $strEmail -OutPath $strPath
Чтобы сгенерировать QR код для доступа к Wi-Fi сети нужно указать SSID сети и пароль доступа. Например:
$strSSID = "WiFiGuest"
$strWiFipassword = "3gd937-v323"
$strPath = "$home\desktop\Contact\wifi.png"
New-QRCodeWifiAccess -SSID $strSSID -Password $strWiFipassword -Width 10 -OutPath $strPath
netsh.exe wlan show profiles name='Profile Name' key=clear
Откройте каталог Contact на рабочем столе, и убедитесь, что в нем появились два png файла с QR-кодами.
Функция распознавания QR кода для подключения к Wi-Fi сети встроена в iOS 11 и присутствует на многих моделях смартофонов Android, например, у меня она работает прямо из коробки на Xiaomi. Вам достаточно навести камеру телефона на этот код и смартфон автоматически распознает, что в QR коде указаны данные точки доступа и предложит сохранить данные для подключения к Wi-Fi сети (скриншоты с Android устройства Xiaomi).
Итак, вооружившись этим скриптом, вы можете автоматически менять пароль на гостевую Wi-Fi сеть хоть каждый день, а для получения нового пароля для доступа к Wi-Fi сотрудникам достаточно подойти к двери кабинета и отсканировать распечатанный QR-код, висящий на двери (или вы можете рассылать QR код на email через PowerShell). Или, если речь о домашнем Wi-FI, вы можете повесить код с паролем на стене и больше не отвечать на вопрос гостей «Какой пароль от твоего Wi-Fi?».
set-ExecutionPolicy Unrestricted -Scope Process
Верно, поправил 🙂
Не работает, если сеть скрытая.
Можно поправить путем исправления модуля:
«C:\Program Files\WindowsPowerShell\Modules\QRCodeGenerator\1.1\New-QRCodeWifiAccess.ps1″
1. Добавить параметр $IsHidden
[CmdletBinding(DefaultParameterSetName=»Address»)]
param
(
[Parameter(Mandatory)]
[string]
$SSID,
[Parameter(Mandatory)]
[string]
$Password,
[ValidateRange(10,2000)]
[int]
$Width = 100,
[Switch]
$Show,
[string]
$OutPath = «$env:temp\qrcode.png»,
[bool]
$IsHidden = $False
)
2. Обновить $payload
$payload = @»
WIFI:S:$SSID;T:WPA2;P:$Password;H:$IsHidden;
«@
И тогда команда будет выглядеть след.образом:
New-QRCodeWifiAccess -SSID $strSSID -Password $strWiFipassword -IsHidden $True -Width 10 -OutPath $strPath
Спасибо за дополнение! Думаю многим будет полезно.
Кто-нибудь знает как бы добавить поля в модуль vCard? А то 4 поля это очень мало. Телефона даже нет.
Полагаю, нужно править New-QRCodeVCard.ps1:
$vcard = @»
BEGIN:VCARD
VERSION:3.0
KIND:individual
N:$LastName;$FirstName
FN:$Name
ORG:$Company
EMAIL;TYPE=INTERNET:$Email
END:VCARD
«@
Доступные поля и свойства:
https://en.wikipedia.org/wiki/VCard#Properties
Спасибо! Поменял.
Не подключается
1) на Android 9 Samsung после сканирования кода штатной камерой Bixby и нажатии кнопки подключить — не подключается. При этом ни SSID, ни key на экране не отображаются.
2) на Android 5.1 Meizu SSID и key отображает, но при нажатии на кнопку Подключить также не срабатывает.
Аналогично и на Xiaomi (Android начиная с 5 версии)
Полученные данные с кода для подключения к wifi-сети не запоминает, ключ виден явно ( Meizu, Xiaomi), не закрытзвездочками. для подключения приходится по старинке вводить все вручную.
Возможно ли задать тип сети?
Сгенерированный код по этой ссылке http://zxing.appspot.com/generator/ на Meizu подключается, на Samsung требует ввода пароля