вторник, 29 декабря 2015 г.

Windows Server 2003 Terminal перестал пускать удаленно по RDP

Началось все с ошибки при входе в удаленный сеанс:
Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования

Что на сервере: 
Windows Server 2003 32-b Rus OLP установлена в виртуалке в Hyper-V, установлена рабочая группа, есть купленные установленные Terminal Server CAL на пользователя, причем проработало уже несколько месяцев, но перестал пускать. 

Для 2008 есть явное указание в рабочей группе использовать лицензию на устройство, но 2003 такого указания нет. В поисках решения, была найдена ссылка на русском, в оригинале. Предлагают скачать хотфикс, но при установке пишет, что уже установлена более высокая версия. Тогда смотрим в реестр, там в ветке
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\LicensingCore
вообще пусто. Создаем параметр PolicyAcOn тип Reg_Word. Значение 2 - тип лицензирования на устройство, значение 4 - тип лицензирования на пользователя. Нам нужно 4, и перегружаем. После перезагрузки заработало.

понедельник, 28 декабря 2015 г.

понедельник, 14 декабря 2015 г.

Windows Server 2012 R2 Файл установки wim больше 4Гб

Для UEFI, флешка c инсталляцией должна быть в FAT32, которая не видит файлы больше 4Гб, а файл install.wim больше 4.

Решение: разделение wim файла на меньшие swm файлы, и копирование на флешку swm файлов, вместо wim. Ссылка

Dism /Split-Image /ImageFile:C:\data.wim /SWMFile:D:\imaging\install.swm /FileSize:4000

пятница, 11 декабря 2015 г.

Windows 2008 2012 Terminal лицензирование RDP в рабочей группе

Здесь описана проблема с лицензированием RDP в рабочей группе.
В статье есть такая запись:

Оказалось что в последних версиях microsoft windows server 2008 2008 r2 2012 рекомендуют использовать домен, при этом работают оба режима лицензирования, а в случае отсутствия домена возможен только режим лицензирования на устройство, и по истечении 120 дней режим лицензирования на пользователя перестаёт работать и к серверу становится невозможно подключиться по РДП.
Но нет ссылки, где это упоминается в Microsoft, нашел здесь:

TS Per User CAL tracking and reporting is supported only in domain-joined scenarios (the terminal server and the license server are members of a domain) and is not supported in workgroup mode. Active Directory® Domain Services is used for license tracking in Per User mode. Active Directory Domain Services can be Windows Server 2008-based or Windows Server 2003-based.

воскресенье, 6 декабря 2015 г.

среда, 2 декабря 2015 г.

Windows проблемы при установке диспетчера контактов для Microsoft Outlook 2010 (Business contact manager)

Нужно было установить диспетчера контактов 64bit Rus на Microsoft Outlook 2010 Standard OLP 64bit Windows 7 Professional 64bit Rus. Во время установки возникли ошибки, связанные с установкой SQLExpress. Единственный мануал по решению в гугле предлагался здесь. Только его нужно внимательно читать. При проблеме с SQL, предлагают установить его самостоятельно. Для 64 все равно качать нужно 32-битную версию SQLexpress. При установке нужно вместо базы по-умолчанию SQLEXPRESS указать базу MSSMLBIZ (чего я в мануале явно не увидел или недочитал), и пользователя указать учетную запись Network Service. После этого установка диспетчера контактов проходит успешно.

P.S.: если при установке SQLexpress требует постоянно перезагрузки, то нужно в реестре

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 

удалить параметр      PendingFileRenameOperations

пятница, 6 ноября 2015 г.

Windows 1C 7.7 SQL тормоза на новом сервере

Стояла 1С SQL2008 на 2008 r2 , переехала на 2012 r2. Железо новое, но появились тормоза при проведении проводок, и выборке за большой период. Долго искали причину. Оказалось дело во включенной в биосе технологии Intel SpeedStep
При выключении - скорость работы существенно увеличилась.

вторник, 29 сентября 2015 г.

Linux SSH подключение по сертификату

Мануалов много, эта заметка для понимания:
если я хочу подключаться с сервера А на сервер Б по сертификату, то я создаю пару закрытый открытый ключ на сервере А и копирую открытый ключ (ssh-copy-id) на сервер Б.

Описание параметров настройки SSH

четверг, 10 сентября 2015 г.

Блокировка видео в VK

Известно, что видео в VK не рецензируется, и случайно или не случайно ребенок может увидеть то, что ему еще рано видеть. Но VK ему нужен, чтобы переписываться со сверстниками. Поэтому необходим урезанный VK.
Блокировка будет производиться средствами плагина браузера Stylish.
Для элементов страницы, которые нужно заблокировать, будет использована запись
display:none !important;
Эти элементы удобно находить в мозиле по клавише F12, выбираем инспектор и тыкаем в нужный элемент - справа в окошке можно скопировать его полное наименование.
Эта запись
.page_post_thumb_sized_photo{
display:none!important;
}
блокирует просмотр изображений в постах VK, но и также блокирует превьюхи нежелательного видео, при нажатии на которые, можно попасть на неугодный сайт.

Ниже, полный скрипт, который нужно вставить в плагине:

среда, 9 сентября 2015 г.

Windows 2003 отключение блокировки экрана в терминале

gpedit.msc

Конфигурация пользователя - Административные шаблоны - Панель управления - Экран - Использовать парольную защиту для экранных заставок 
Отключить

(User Configuration - Administrative Templates - Control Panel - Display - Password protect the screen saver)

вторник, 14 июля 2015 г.

Windows PowerShell массовое копирование файла по папкам, с проверкой по размеру и с исключением некоторых папок

Задача: есть самописная программа, обновляемая перезаписью нового exe-файла. Установлена у более 10 пользователей в сетевую папку для каждого пользователя вида \\programs\userN\programma. Также в папку programma вложена папка install, в которой есть установочный файл с таким же именем, который требуется обновлять. Требуется из папки, в которой будет лежат новый файл и сам скрипт, запускать копирование в сетевые папки пользователей, причем в папке install не перезаписывать, обновленные файлы также не перезаписывать. То что файл обновлен, сверяем по размеру файла. Процесс нужно логировать.

Решение:
# сетевой каталог, в котором папки пользователей с программами
$PathToPrograms = "\\dfs\programs"

# файл должен лежать в каталоге запуска *.ps1
$FileForUpdate = "file.exe"

# вычисляем размер нового файла
$SizeFileForUpdate = (ls $FileForUpdate).Length

# формируем имя лога
$CurrentDate = Get-Date -Format "dd-MM-yyyy"
$PathLOG = "backup-" + $CurrentDate +".log"

# Создание пустого файла лога, с перезаписью при наличии старого
New-Item $PathLOG -ItemType file -Force

# не обновлять в папке install, не обновлять уже обновленные. Для лога печатаем полный путь и размер
ls $PathToPrograms -File $FileForUpdate -Recurse -Force | foreach `
     # исключаем файлы, в пути содержащие install
   { if( -Not ([string]$_.FullName).Contains("install") -and `
                     $_.Length -ne $SizeFileForUpdate) `
       # логирование полного пути и размера файла до копирования
       {Out-File -FilePath $PathLOG -InputObject $_.Fullname, "Было: ", $_.Length `
                                                                                         -Append -encoding unicode
     
        # логирование через конвеер, PassThru - выводит подробную информацию
        Copy-Item $FileForUpdate -Destination $_.FullName -PassThru | `
                                         Out-File -FilePath $PathLOG -Append -encoding unicode } }

понедельник, 13 июля 2015 г.

Windows XP включение NAT

Используем для создания софтового роутера. Есть VPN, поднятый на компьютере с XP с помощью клиента CiscoVPN, который нужно раздать по сети. На компьютерах в сети прописываем постоянный маршрут сети VPN и шлюз - софтроутер. Далее, настройки для этого роутера:

  1. проверяем что запущен сервис "Маршрутизация и удалённый доступ" ("Routing and Remote Access"), и его режим запуска - "Авто".
  2. HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\Tcpip\Parameters  "IPEnableRouter=1"
  3. netsh routing ip nat install
  4. netsh routing ip nat show global  если сообщение "NAT должен быть установлен первым" , то перезагрузка
  5. netsh routing ip nat add interface "VPN" full  где "VPN" - название сетевого соединения, которое нужно раздать. Его можно посмотреть и скопировать в сетевых подключениях. Данную команду можно выполнить для более чем одного интерфейса, организовав маршрутизацию для нескольких сетей.
  6. netsh routing ip nat add interface "LAN" private  где "LAN" - название сетевого соединения для локальной сети, которая натится.


взято отсюда

вторник, 9 июня 2015 г.

Windows Server 2008 R2 восстановление из резервной копии физической машины на голое железо в виртуальной машине

Дано: выполняются каждый день бэкапы серверов Windows 2008 R2 стандартными средствами windows (в гуи все галочки кроме не-системных дисков) в папку на сетевом хранилище.

Надо: проверить выборочно возможность восстановления, например, на виртуальную машину.

Что есть вналичии. Виртуальная среда на KVM Ubuntu. Сеть внутренняя гипервизора. Есть виртуальная машина Windows Server R2 в этой сети с расшаренным диском. На этот диск скопирована папка WindowsImageBackup с резервной копией server1.


Важно:


проверено эксперементально  


  1. Сетевой путь при восстановлении указывать вида, как \\pdc\e , структура папок на расшаренном диске не должна меняться (т.е. например e:\WindowsImageBackup). 
  2. Нельзя переименовать изначальное название копии, иначе в обоих случаях резервная копия не будет найдена. 
  3. Диск, на который будет восстанавливаться копия, должен быть такого же размера или больше, чем эта копия.


Что выполнялось:

  1. Восстановление выполняется с помощью установочного DVD-диска Windows Server 2008 R2. Выбираем восстановление системы. Расположение архива указываем в сети, например \\server\d , где d - это расшаренный диск с архивом. В моем случае - server в домене, поэтому предложило ввести логин пароль для доступа.
  2. После разворачивания архива, получаем BSOD при загрузке с кодом 0x0000007B. Это скорее всего связано с контроллером накопителя. Нужно загрузиться с помощью ERD Commander 7 или MSDART 7 64b и отредактировать реестр. 
   HKEY_LOCAL_MACHINE\System\ControlSet001\services\atapi\
   HKEY_LOCAL_MACHINE\System\ControlSet001\services\intelide\
   HKEY_LOCAL_MACHINE\System\ControlSet001\services\LSI_SAS\
   Везде устанавливаем значение реестра Start [REG_DWORD] = 0x00000000 (0)
   link1 link2
После проделанного, загрузка виртуальной машины прошла успешно.


P.S. к пункту 1: 
Вместо использования сети, пробовал подключить диск с архивом напрямую к целевой виртуальной машине. Выдало ошибку, что диск не может содержать архив. Если войти далее в командную строку, то видно что диск подключается как диск C, и внутри данные читаются. Это, скорее всего, связано с тем, что диск на который собираюсь развернуть архив, свежесозданный и не размечен. Проверил эту операцию, после того как развернул  образ из сети и диск соответственно стал размечен - все прошло успешно, архив стал определяться и находиться.

понедельник, 8 июня 2015 г.

Сервер Dell PowerEdge T410 автоматическое включение после сбоя питания

Заходим на сервер через Internet Explorer по адресу https://ip-сервера:1311 в DellOpenManage с логином паролем локального администратора. Далее в System-MainSystem - BIOS - AC Power Recovery Mode и ставим On, также можем поставить задержку на запуск до 240сек (Time Delay).

вторник, 2 июня 2015 г.

Сервер Dell PowerEdge T410 в Eventlog: Log size is full Log type: ESM

Нужно очистить лог. Для этого заходим на сервер через Internet Explorer по адресу https://ip-сервера:1311 в DellOpenManage с логином паролем локального администратора. Далее в Systems - Logs - Hardware | Alert | Command - Clear Log
Link

понедельник, 27 апреля 2015 г.

Windows Office Word 2010 как убрать серый фон с элементов управления

Есть текст с элементами управления (поля, списки). Все эти элементы имеют серый фон
такого вида. Требуется убрать такой фон. Для этого нужно открыть вкладку Разработчик. Если такой вкладки нет - ее нужно добавить в ленту:
Файл - Параметры - Настройка ленты - Настройка ленты: Основные вкладки - поставьте флажок Разработчик.
После этого во вкладке Разработчик - Элементы управления - Формы предыдущих версий - есть Затенение полей - вот тут убрать.

пятница, 24 апреля 2015 г.

Windows PowerShell zip архивирование

Для NET 4.5 framework:
создание архива zip:
Add-Type -Assembly "System.IO.Compression.FileSystem" [System.IO.Compression.ZipFile]::CreateFromDirectory("c:\your\directory\to\compress", "yourfile.zip")

распаковка:
Add-Type -Assembly "System.IO.Compression.FileSystem"[System.IO.Compression.ZipFile]::ExtractToDirectory("yourfile.zip", "c:\your\destination")

вторник, 14 апреля 2015 г.

воскресенье, 5 апреля 2015 г.

Windows cmd

Удаление папки с файлами при условии наличия файла (флага), и копия на другой диск

IF exist C:\Folder\filename.txt (RD /S/Q "D:\Folder")
XCOPY /E /Y C:\Folder\*.* D:\Folder\*.*


понедельник, 30 марта 2015 г.

Windows PowerShell добавление задачи в планировщике заданий

Общие - Выполнять с наивысшими правами,
               Скрытая задача,
               Выполнять вне зависимости от регистрации пользователя (вводим пароль)
Действия - Запуск программы - Программа: powershell.exe,
Добавить аргументы: -NoLogo -ExecutionPolicy RemoteSigned -File "path_to_script\script.ps1"

PowerShell работа с датой: дни недели, текущая дата

Текущая дата:
Get-Date -Format "dd-MM-yyyy"
30-03-2015

Интересуют дни недели, для создания скрипта архивации. Взято с Technet.

if ((Get-Date).DayOfWeek -eq 1) {
#чтототам делаем
}

Выполнение просто (Get-Date).DayOfWeek вернёт текущий день в текстовом виде:

(Get-Date).DayOfWeek

Monday

1..7|ForEach{(Get-Date -Day $_).DayOfWeek}
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday


Если нужно число, вместо буквенного значения:

(Get-Date).DayOfWeek.value__
1

пятница, 27 марта 2015 г.

Windows 7 NAT

Как известно в Windows 7 NAT тремя командами как в XP не поднимается. А возникла ситуация, что надо.

В моем случае есть VPN-туннель с сервером Центрального офиса (ЦО), поднятым на Cisco, клиенты - Windows машины с программой VPN-клиента Cisco. VPN нужен для запуска программы из сети ЦО для ограниченного числа пользователей. Оборудования, чтобы соединить туннель офис-офис нет (у меня D-Link). На локальных машинах все ок, а с тонкими клиентами проблема. На терминальный сервер не поставишь такого клиента.

Выход - создаем программный роутер на базе компьютера Windows 7. Адрес ему задаем статический. На терминальном сервере прописываем постоянный статический маршрут к сети VPN:

route -p -4 add <сеть VPN> mask <маска VPN> <ip soft-routera>

На роутере устанавливаем VPN-клиента. В результате создается дополнительный сетевой интерфейс для VPN. Устанавливаем программу NAT32 скачанную с этого сайта. По рекомендации с сайта скачиваем и устанавливаем драйвер WinPkFilter. Запускаем VPN-клиента. Конфигурируем NAT (в окошке отмечаем какой интерфейс Интернет, какой Приват). После запуска над треем появляется окно, в котором мониторится сеть.

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

четверг, 26 марта 2015 г.

HP 2530-48G switch просмотр таблицы MAC-адресов

Просмотр MAC-адресов на портах коммутатора:

show mac-address - просмотреть таблицу соответствия MAC-адресов портам коммутатора

show mac-address ehternet 1 - посмотреть таблицу MAC-адресов на первом порту коммутатора

show mac-address ehternet 1-10 - посмотреть таблицы MAC-адресов портах коммутатора с 1 по 10

show mac-address 00:13:d4:4e:c3:74 - посмотреть, через какой порт коммутатора доступен этот MAC-адрес

Взято отсюда

среда, 25 марта 2015 г.

Windows 7 2008 как по userSID узнать логин

Например, в логах при подключении терминального пользователя виден только userSID, а нужно узнать логин. Для этого в реестре

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

ищем нужный userSID, а в этой ветке смотрим параметр ProfileImagePath, где по пути C:\Users\user виден логин.

Update: еще есть утилита из комплекта pstools psgetsid.exe

вторник, 24 марта 2015 г.

Windows 2008 R2 изменить файл hosts

Понадобилось откорректировать файл hosts в Windows 2008 R2, а не все так просто. Через Total Commander 32bit по стандартному пути %systemroot%\system32\drivers\etc\hosts нет его, а через проводник есть, но редактировать не дает, даже если от Администратора запускать. Решается таким путем, запускаем консоль от Администратора и команда:

notepad %systemroot%\system32\drivers\etc\hosts

пятница, 20 марта 2015 г.

Windows 2008 R2 backup wbadmin diskshadow

Для того чтобы сделать полную архивацию системы и всех рабочих дисков на специально выделенный жесткий диск, желательно (но не обязательно), перед настройкой архивации по расписанию убрать все буквы с разделов на выделенном диске и удалить на нем все разделы.

Как получить список резервных копий?

wbadmin.exe get versions

UPD 03.08.2015 входим в интерактивный режим DISKSHADOW
e:\diskshadow
DISKSHADOW> List Shadows all


Как очистить каталог состояния системы сохраняя N-ое количество имеющихся копий?

wbadmin.exe delete systemstatebackup -keepversions:N
где N - число, если ноль - удаляются все копии. Работает при условии что был именно systemstatebackup, иначе ошибка:
Перечисление архивов состояния системы...
ОШИБКА: не найдены архивы состояния системы. Эта команда служит только для
удаления архивов, содержащих только состояние системы.



Как полностью удалить архив с резервными копиями?

wbadmin.exe delete catalog 

также необходимо вручную удалить папку WindowsImageBackup из места расположения архивов, после чего задание на автоматическую архивацию необходимо пересоздать.


UPD 03.08.2015

Удаление старейшей одной копии (не обязательно состояние системы) через командную строку

diskshadow -s delete_shadows.cmd -l delete_shadows.log

где содержимое файла delete_shadows.cmd

delete shadows oldest E:

пятница, 13 марта 2015 г.

Перенос контактов с Vertu (Nokia) в IPhone

Устанавливаем NokiaOviSuite, подключаем по USB Vertu (Nokia), экспортируем контакты в формате vcf. Затем в каталоге где выгружены эти файлы запускаем cmd, и вводим команду

copy /a *.vcf all.vcf

получаем один файл со всеми контактами.

На IPhone предварительно заводим почту, если не было, и отправляем туда полученный файл. Получаем его на IPhone, открываем вложение, соглашаемся добавить контакты. Всё.

Outlook Express восстановление почты из dbx

Ситуация, dbx превысил 2Gb, штатно не работает (либо отображает почту, но не дает с ней работать, либо вообще пусто, но объём файла больше 2Gb)
Используем для восстановления почты утилиту UnDBX link


undbx --recover myinbox.dbx c:\recovery
Полученные сообщения в формате eml перетаскиваем скопом в нужную папку в Outlook.

вторник, 10 марта 2015 г.

Восстановление флешки Jetflash Transcend 4Gb

Симптомы: при попытки скопировать, отформатировать происходило зависание. Но определялась успешно, каталоги показывала, но при попытки провалится в подкаталог, также зависание.

Разобрал, внутри контроллер SM32250 AB. Погуглил, на этом сайте рекомендуют скачать SMI MPTool V2.03.47 v2 K0823 [SM3255AB]. Запускал на Windows 7 с правами администратора.
Запустил Tools - Multiple Erase All все почистило (в строке процентики бежали). Вытащил, вставил, еще раз запустил программу, Scan USB F5, затем Start (Space Key) Заново записала прошивку, отображался процесс в информационной строке. После этого заработала.

четверг, 5 марта 2015 г.

МФУ Konica Minolta 283 как изменить по-умолчанию двухстороннюю печать на одностороннюю

При установке выставлено по-умолчанию двухсторонняя печать. Меняется на одностороннюю в настройке драйвера, закладка Дополнительно, кнопка Умолчания...

четверг, 26 февраля 2015 г.

Windows обозреватель компьютеров, или браузер компьютеров

Эта небольшая статья относится к периодически возникающей ошибке в сети, когда частично не отображаются компьютеры из рабочей группы.
Очень хорошо описано здесь. Мой случай - один сетевой сегмент, несколько рабочих групп. В каждой группе свой мастер-браузер. Просмотреть кто мастер, можно с помощью утилиты browstat.exe на XP, либо на любой ОС семейства Windows nbtstat -a <Имя каждого компьютера группы>. Как запустить на Windows 2008 R2 описано в предыдущей статье.

Также есть скрипт отсюда

@for /f "delims=\ " %%i in ('net view ^|find "\\"') do @ping -n 1 %%i 2<&1 |find "(0" >nul &&@nbtstat -a %%i|find "MSBROWSE"&& echo %%i

Нужно запускать как cmd-файл. Очень удобно пользоваться.

Принудительное указание мастера - включение в автомат службы Браузер компьютеров (на Windows 2008 отключена по-умолчанию) и в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters
"MaintainServerList"="Yes"
"IsDomainMaster"="True"

после перегрузить всех

Windows 2008 R2 nbtstat enable

При включенном WINS, и выключенном Браузере компьютеров, у меня nbtstat не запускался. Эта утилита для 32-битных ОС. Я ее нашел в c:\windows\sysnative и скопировал в c:\windows\syswow64 и после этого заработало.

среда, 25 февраля 2015 г.

Windows PowerShell отправка почты НЕ на gmail

В поиске в основном примеры с gmail, и я пошел по неверному пути - указывал стандартный порт отправки 465 отдельным параметром -port 465, по аналогии как в примерах с gmail с нестандартным портом, но так отправка не работала. Оказывается нужно было убрать этот параметр -port, если порт стандартный.

$From = "user1@mail.com"
$To = "user2@mail.gov"
$Cc = "user3@gmail.com"
$Attachment = "C:\temp\backup.log"
$Subject = "Email Subject"
$Body = "Insert body text here"

# $SMTPServer = "smtp.gmail.com" для gmail нужно добавить 
параметр для альтернативного порта -port 587
# $SMTPPort = "587" для gmail. 
Если порт стандартный 465, то параметр -port не нужен

$SMTPServer = "smtp.mail.com"

Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -UseSsl `
-Credential (Get-Credential) -Attachments $Attachment

для автоматического ввода пароля при отправке

$pass = ConvertTo-SecureString "PaSsW0rD" -AsPlainText -Force  
$mycred = new-object -typename System.Management.Automation.PSCredential `
                     -argumentlist "user1@mail.com",$pass

и тогда параметр заменяем на такой

-Credential $mycred

Вариант 2
  $cred = Get-Credential
  $cred | Export-CliXml c:\temp\cred.clixml
  $cred2 = Import-CliXml c:\temp\cred.clixml

Windows PowerShell version, запуск скриптов на компьютере

Просмотр версии PowerShell

$host.version

или

$PSVersionTable.PSVersion

или

get-host

PowerShell 4 версии можно скачать здесь. Находится в составе Windows Management Framework 4.0. Для ОС Windows 7; Windows Server 2008 R2; Windows Server 2012

Для запуска скриптов нужно проверить политику выполнения скриптов. Посмотреть текущее значение политики можно командой Get-ExecutionPolicy. Политика выполнения может иметь значения:

Restricted — блокируется выполнение любых скриптов. Значение по умолчанию;
AllSigned — разрешено выполнение скриптов, имеющих цифровую подпись;
RemoteSigned — скрипты, подготовленные на локальном компьютере, можно запускать без ограничений, скрипты, загруженные из Интернета — только при наличии цифровой подписи;
Unrestricted — разрешено выполнение любых скриптов. При запуске неподписанного скрипта, который был загружен из Интернета, программа может потребовать подтверждение;
Bypass — ничего не блокируется, никакие предупреждения и запросы не появляются.

Обычно для безпроблемного выполнения скриптов достаточно задать значение RemoteSigned. Изменить текущее значение можно командой Set-ExecutionPolicy, например:

Set-ExecutionPolicy RemoteSigned -force

вторник, 24 февраля 2015 г.

Windows PowerShell парсинг лога

Есть лог такого вида:
Sa 21.Feb.2015 00:07 ERROR # 3: f:\user\a.user\Documents\очень\длинный\путь\или\символы \в\нечитаемой\кодировке\документ.doc ==> \\BACKUP\5\user\a.user\Documents\очень\длинный\путь\или\символы \в\нечитаемой\кодировке\документ.doc: Системе не удается найти указанный путь. 

Нужно создать по каждому пользователю файл со списком каталогов и файлов, которые им нужно переименовать или укоротить путь.

Для этого разобьём на массив с разделителем слэш \ ,укоротим до символа  ==>. Выбирать будем по кодам ошибок "ERROR # 3:"

$path = "c:\path\"
$log = Get-Content backup.log 

# очищаем от ранее созданных файлов
Remove-Item -Path ($path + '*')

for($i=0;$i -lt $log.count;$i++) {
   If(($log[$i] -match " ERROR # 3:") -Or ($log[$i] -match " ERROR # 123:")){
     $value = @()
     $tmp = $log[$i].split("\")
     If($tmp[3] -match "Documents"){
       for($ii=3;$ii -lt $tmp.count;$ii++) {                                               If($tmp[$ii] -match "==>") {
            # Вырезаем ==>
            $value += $tmp[$ii].Substring(0, ($tmp[$ii].length - 4))
            
            # Заново собираем
            $value = $value -join '\'
            
            # Вырезаем в конце слэш \
            $value = $value.Substring(0, ($value.length - 1))
            
            # Добавляем переход на новую строку
            $value += "`n"                                
            break
            }
            Else{
                $value += $tmp[$ii]                                     
                }
          }
       # создаем файл по логину пользователя $tmp[2].ToString()
       Add-Content -Path ($path + $tmp[2].ToString() + '.txt') -Value $value             }
   }
}

вторник, 17 февраля 2015 г.

четверг, 5 февраля 2015 г.

Windows Java HTTP Error 12057 не хочет обновляться в домене, или не работает проверка версии, или проблема с сертификатами

Под пользователем нужно зайти в свойства Internet Explorer - Дополнительно. Ищем там в Безопасности - Проверять не отозван ли сертификат сервера. Убираем галочку.

вторник, 3 февраля 2015 г.

Windows terminal синий экран при завершении сессии

В процессах видно что висит процесс splwow64.exe. После гугления находим:

splwow64.exe – это программная прослойка, которая позволяет 32-битным приложениям соединиться с 64-битным диспетчером службы очереди печати.

По-умолчанию этот процесс не относится к терминальным процессам, а является системным, из-за чего обычному пользователю удаленного рабочего стола завершить его не удается.

Чтобы насильно объявить splwow64.exe процессом, который принадлежит к терминальной сессии, нужно отредактировать системный реестр:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs

создаем параметр splwow64.exe, типа DWORD и присваиваем ему значение 0.

понедельник, 2 февраля 2015 г.

Linux терминал запуск из истории команд

Как выбрать в терминале из истории, когда-то введенную команду? Если недавно введенная - то стрелочкой вверх, а если команд двадцать назад?
Решение:
history | grep <искомое>
В найденном строчки будут пронумерованные. И запуск выбранной команды:
!NNN
где NNN это номер строки.

среда, 21 января 2015 г.

Windows 2008 R2 маршрутизация двух сетей

Схема ХОСТ1 -192.168.0.1/24- СЕРВЕР -192.168.1.0/24- ХОСТ2. 

На сервере две сетевухи с настройками 192.168.0.10 255.255.255.0 и 192.168.1.10 255.255.255.0 (без шлюзов). 
На ХОСТ1 настройки 192.168.0.100 255.255.255.0 шлюз 192.168.0.10. 
На ХОСТ2 настройки 192.168.1.100 255.255.255.0 шлюз 192.168.1.10. 

На сервере установлена роль "Службы политики сети и доступа"-> "Служба удаленного доступа" + "Маршрутизация"
В "Администрировании - Маршрутизация и удаленный доступ" выбираем "Настроить и включить маршрутизацию и удаленный доступ" - "Особая конфигурация" - "Маршрутизация локальной сети"
После этого ХОСТ1 с ХОСТ2 пингуется обоюдно.

Если на хостах нужен шлюз другой (например с интернетом). То на хостах нужно прописать маршрут:
для ХОСТ1:
route add 192.168.1.0 mask 255.255.255.0 192.168.0.10

для ХОСТ2:
route add 192.168.0.0 mask 255.255.255.0 192.168.1.10