Friday, 19 January 2018

Форматированный вывод WMIC.


Всем привет.

Пару дней назад я отвлекался на использование WMIC. Так вот, эта штука имеет в своем арсенале форматированный вывод. А не только на консоль. Т.е. можно получить на выходе CSV файл, и даже HTML. Всего лишь добавляем  два параметра в строку output и format:

wmic /output:"e:\my.html" OS Get /format:hform

и при первом старте вы, скорее всего, получите сообщение об ошибке Invalid XSL format (or) file name. Как и я.

Дело в том что в неанглоязычных версиях Windows WMIC не находит свои шаблоны для вывода. Поэтому правильно будет писать так:

wmic /output:"e:\my.html" OS Get /format:"%WINDIR%\System32\wbem\ru-Ru\hform"

И вауля, наш файлик готов. Не меняйте последовательность output и format.

У вывода много разных форматов, также легко создаем файл CSV:

wmic /output:"e:\MACs.csv" path Win32_NetworkAdapterConfiguration Where IPEnabled=True get MACAddress /format:"%WINDIR%\System32\wbem\ru-Ru\csv"

Успехов.

Wednesday, 17 January 2018

Как найти оптимальный размер MTU.

Всем привет.

Один из простых и наиболее точных способов определения оптимального размера MTU (Maximum Transmission Unit)  - пинг тест. Вы просто отправляете запросы и постепенно снижаете размер пакета до тех пор, пока пакет больше не подвергается фрагментации. Кроме того, этот простой тест подходит для точного тестирования конечных точек, пользователи могут найти более маленький размер MTU более удобным для себя. 

Как найти правильный размер MTU для домашней сети с роутером TP-Link хорошо рассказано здесь http://www.tp-link.ua/ru/FAQ-190.html.

В связи с дополнительными сложностями, в VPN (виртуальные частные сети) необходим иной способ тестирования MTU. Если у вас сеть с несколькими компьютерами, то каждый компьютер должен быть настроен с одинаковым размером MTU. Кроме того, некоторые компьютеры могут использовать несколько сетевых адаптеров или адаптер клиента VPN на одном компьютере. Удостоверьтесь, что вы изменяете сетевой адаптер, имеющий отношение к службе широкополосного вещания или VPN клиенту.

А теперь узнаем как выполнить тоже самое в сети с маршрутизатором Cisco.

Если от маршрутизатора посылается обычная команда ping, адрес источника этой команды ping является IP-адресом интерфейса, который используется пакетом для выхода из маршрутизатора. При использовании расширенной команды ping IP-адрес источника может быть изменен на любой IP-адрес в маршрутизаторе. Расширенная команда ping используется для более тщательной проверки доступности хоста и возможности сетевого подключения. Расширенная команда ping работает только в привилегированной командной строке EXEC. Обычная команда ping работает как в пользовательском, так и в привилегированном режиме EXEC.

Saturday, 13 January 2018

The protection of Powershell script.

Hi there.
 
If you know the obfuscation for VBScript files was with tiny tool as Script Encoder from Microsoft. We could get VBE file instead VBS file. VBE file could be run easy as VBS: cscript file.vbe. This was poor protection for VBS scripts. Anybody could find in Internet decoder for VBE.
 
And what is situation about such protection for Powershell script?
 
For example, I know fine GUI tool as PowerGUI.
 
Script compilation to executable files (binary exe) is one of the features we have added in PowerGUI version 3.0 or above. You would likely want to use compile a script when you want to share it in the enterprise environment and you are not sure whether the other person is comfortable running scripts or you simply don’t want risking someone modifying the your code.
 
To compile a PowerShell script:
  • open the script in PowerGUI Script Editor,
  • on the Tools menu, click Compile Script,
  • then specify the name and path for the exe file you want to create EXE-file.
 
The additional options you get are:
  • show or hide the PowerShell Console window when executing the script,
  • automatically close or keep the console window,
  • protect the script source code by obfuscating it using a password you specify,
  • add other PowerShell scripts  to the exe (if you have another script which your main script is using).
However you shouldn't to be calm. You have to know some moments. You have to type Password each time for running your exe-file. So you can't to share your exe-file without password. And if your exe-file take any error during execution, so your powershell script will be locate in PowerGUI temporary folder in clear type.

Be careful.
 
 
 

Thursday, 11 January 2018

Как управлять Wanscam камерой с помощью Powershell?

Всем привет.

Как управлять Wanscam камерой с помощью Powershell?

Автор идеи купил китайскую wanscam вебкамеру с wifi, инфракрасной подсветкой, микрофоном, динамиком, поворотным механизмом и web-интерфейсом. И решил автор сделать из этой web-камеры что-то вроде домашней видео-охраны.

Как он пишет идея была следующая: пингуем смартфоны или ноутбуки дома, если пингуются - значит кто-то есть дома, если не пингуются - значит дома, скорее всего, никого нет, или они просто забыты. Когда дома никого нет - камера поворачивается в сторону, например, двери и включается в режим "motion alarm", то есть оповещает нас если что-либо в кадре начинает двигаться. Если же дома кто-то есть - отключаем "motion alarm" и поворачиваем камеру в стенку.

Что делать с любимой кошкой?) Ограничить область сканирования уровнем выше полуметра от пола. Или ничего не делать, ибо кошки не так активны днем как нам кажется.


А вот его Powershell скрипт с помощью которого это все было реализовано:


#Общие параметры
$hour = (Get-Date).Hour #текущее время
$date = Get-Date -format dd-MM-yyyy
$file_temp = "C:\Temp\WebCam\camera.txt"
$file_log =  "C:\Temp\WebCam\Camera_log-" + $date + ".txt"
$ping = new-object System.Net.NetworkInformation.Ping


#Сетевые параметры
#увы, но пароль к камере здесь в открытом виде
$camera_user_pass = "user=CameraUser&pwd=CameraPassword"
$camera_ip = "192.168.2.30"
$camera_ip_port = "http://"+$camera_ip+":8888/"
$mail_username = "MyHouse"
$mail_from = $mail_username+"@gmail.com"
$mail_to = "HugMe@gmail.com"
#пароль к gmail тоже в открытом виде
$mail_pass = "mail_password"
$wifi_ip = "192.168.2.10"  #телефон автора
$wifi_ip2 = "192.168.2.11" #резервный
$wifi_ip3 = "192.168.2.12" #ноут


#А доступна ли web-камера по ping?
$i = 0;$time = 'timeout'
While (($i -lt 3) -and ($time -eq 'timeout')) {
 $i++
 $reply = $ping.send($camera_ip) #пинг в адрес камеры
 $time = $reply.RoundtripTime
#Упс, а наша камера недоступна. Надо об этом срочно сообщить мне!
 if (($reply.status -ne "Success") -and ($i -eq 3)){
  write-host "send mail"
#заголовки сообщения
  $SMTPServer = "smtp.gmail.com"
  $SMTPPort = "587"
  $subject = "Camera Timeout"
  $body = "Camera Timeout"
#текст в формате HTML
  $message = New-Object System.Net.Mail.MailMessage $mail_from, $mail_to
  $message.Subject = $subject
  $message.IsBodyHTML = $true
  $message.Body = $body
  $smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
  $smtp.EnableSSL = $true
  $smtp.Credentials = New-Object System.Net.NetworkCredential($mail_username, $mail_pass)
отправляем сообщение
  $smtp.Send($message)
 }
}

Wednesday, 10 January 2018

Системные требования для ABBYY Recognition Server.

Привет.

Лет пять тому наравне с ABBYY Fine Reader мне довелось внедрять для нашей канцелярии еще один продукт компании ABBYY. Это ABBYY Recognition Server.

Это было весьма актуально ибо ABBYY Recognition Server обеспечивает полный перевод бумажного архива в электронный вид.

ABBYY Recognition Server позволяет автоматически перевести архив бумажных документов  в электронный вид: распознает бумажные документы и сохранит их в электронный архив в необходимом формате – текстовом или в виде изображения. Сканирование и распознавание документов происходит в автоматическом режиме, требуется лишь правильно настроить сценарии обработки.

Появилась новая возможность доступности сервиса распознавания документов для каждого сотрудника не сходя с его рабочего места. Для этого надо было установить в локальной сети ABBYY Recognition Server - и сервис распознавания стал доступен всем сотрудникам организации через ABBYY Recognition Client. Каждый сотрудник получил возможность за несколько минут распознать нужный ему для работы документ.

Однако при установке и запуске самого сервера пришлось малость повозиться. Обычное дело, ибо сам продукт пришел без каких либо ценных указаний сверху. Но ведь и политику безопасности в компании никто не отменял. Очень быстро я пришел к выводу что без компромиссов с определенными запретами мой ABBYY Recognition Server работать не будет. Поэтому для экономии вашего времени ниже привожу список опций которых без которых сервер не хотел запускаться.

При установке ABBYY Recognition Server 2.0 на сервер Microsoft Windows необходимо было выбрать опции COM и Web services.

Кроме того на сервере должны быть запущены службы "Локатор удаленного вызова процедур" и "Удаленный вызов процедур (RPC)".

На сервере должны быть также установлены IIS и NET Framework 2.0+.

И последнее - в сетевых настройках должны быть активны "Клиент для сетей Microsoft" и "Служба доступа к файлам и принтерам сетей Microsoft".

Вот такая была ситуация. Скажу вам честно что ABBYY Recognition Server потребовал некоторых уступок в плане безопасности от сервера Microsoft Windows. Возможно 4-я версия в этом отношении менее требовательна.

Успехов.

Версия на печать

Популярное

Медиа облако