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

Сброс пароля Windows

Необычный способ сбросить пароль: использование подмены файла, отвечающего за переключение режима залипания клавиш (пять раз нажать клавишу shift, выскакивает окошко "залипание клавиш"), на обычный CMD.EXE

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

1. Загружаемся с загрузочного диска и выбираем "Восстановление системы".
2. Вызываем командную строку.

3. Меняем exe-файл sethc.exe, отвечающий за залипания клавиш, на cmd.exe.
 (Перед операцией скопируем sethc.exe куда-либо, чтоб его потом можно было обратно вернуть)

copy c:\windows\system32\sethc.exe c:\temp\
copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe

4. Загружаемся в Windows и жмем пять раз shift, появится окно с консолью, запущенной из-под system, в ней меняем пароль:

net user ВашПользователь ВашНовыйПароль

5. Возвращаем sethc.exe обратно.

!!! После этих действий можно потерять доступ к зашифрованным данным и ключам. но для домашних пользователей это вряд ли актуально.

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

Сетевые утилиты

NetSetMan - бесплатная и удобная для повседневного использования программа, которая позволяет легко создавать профили (всего 6 профилей) используемых сетевых подключений и быстро переключаться между ними. В каждом профиле можно задавать IP-адрес, маску подсети, DNS и WINS сервер, имя компьютера и рабочей группы, а также указывать используемые сетевые диски, принтеры и др. Доступен экспорт и импорт профилей и настроек.

Виртуализация: бесплатные решения

VMware vSphere Hypervisor — бесплатный аппаратный гипервизор, который используется для виртуализации серверов и консолидации приложений на меньшем объеме оборудования.

Xen Server - кроссплатформенный гипервизор, разработанный в компьютерной лаборатории Кембриджского университета и распространяемый на условиях лицензии GPL. Основные особенности: поддержка режима паравиртуализации помимо аппаратной виртуализации, минимальность кода самого гипервизора за счёт выноса максимального количества компонентов за пределы гипервизора. (описание отсюда)

Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
В качестве гипервизоров использует KVM и OpenVZ. Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь. (описание отсюда)

VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации для операционных систем Microsoft Windows, Linux, FreeBSD, Mac OS X, Solaris/OpenSolaris, ReactOS, DOS и других.
Программа была создана компанией Innotek с использованием исходного кода Qemu. Первая публично доступная версия VirtualBox появилась 15 января 2007 года. В феврале 2008 года Innotek был приобретён компанией Sun Microsystems, модель распространения VirtualBox при этом не изменилась. В январе 2010 года Sun Microsystems была поглощена корпорацией Oracle, модель распространения осталась прежней. (описание отсюда)

RUFUS - Create bootable USB drives the easy way


Создание загрузочных дисков

RUFUS - Create bootable USB drives the easy way

http://rufus.akeo.ie/

Rufus is a utility that helps format and create bootable USB flash drives, such as USB keys/pendrives, memory sticks, etc.
It can be especially useful for cases where:
  • you need to create USB installation media from bootable ISOs (Windows, Linux, UEFI, etc.)
  • you need to work on a system that doesn't have an OS installed
  • you need to flash a BIOS or other firmware from DOS
  • you want to run a low-level utility
Despite its small size, Rufus provides everything you need!
Oh, and Rufus is fast. For instance it's about twice as fast as UNetbootin, Universal USB Installer or Windows 7 USB download tool, on the creation of a Windows 7 USB installation drive from an ISO. It is also marginally faster on the creation of Linux bootable USB from ISOs. (1)
A non exhaustive list of Rufus supported ISOs is also provided at the bottom of this page. (2)

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

Проверка, проброшен ли COM-порт в терминальной сессии

Требуется при подключении кассового аппарата.
В свойствах соединения обязательно ставим перенаправление портов.

Чтобы узнать, выполнился ли проброс портов, выполняем команду:
change port /query 
должно  вернуть что-то вроде:
AUX = \DosDevices\COM1
COM1 = \Device\RdpDrPort\;COM1:38\tsclient\COM1

UPD Статья по теме: Проброс COM порта через RDP на WinSer 2008R2

Изменение номера COM-портов / Отображение скрытых устройств

Краткий пересказ статьи: Изменение номера COM-портов / Отображение скрытых устройств

Проблема: Пропадают номера COM-портов (интерйфес RS-232). Например, был COM16, переключил разъёмчик USB – порт вдруг стал уже COM22.

Решение: Как удалить записи об отключённых и ненужных устройствах и сменить номер COM-порта в Windows XP - под катом.

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

Пропадает доступ к папкам (принтерам) Windows 7 из Windows XP (2003)

Проблема: После очередного автоматического обновления Windows перестал печатать принтер пользователя из терминального сеанса. Локально печатает, а из терминала - нет.

Кроме этого, нельзя зайти по сети на свою-же машину из терминального сеанса - "Нет доступа к xxx. Возможно у вас нет прав на использование этого сетевого ресурса. Обратитесь к администратору этого сервера для получение соответствующих прав доступа. Указанный сервер не может выполнить требуемую операцию."

Машина пользователя - Windows 7, сервер терминалов - Windows 2003 Server.
Компьютеры в домене, все права выставлены, как положено, время синхронизировано с сервером.
Все работало несколько лет подряд, и "внезапно" в обед перестало.

В журнале событий при каждой попытке фиксируется следующее:

"Ошибка srv. event id 2017. Сервер не смог выделить память из невыгружаемого пула памяти, так как достигнут указанный в конфигурации верхний предел.

The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.
"


Решение: Найдено тут и тут.
Мы должны указать нашей системе на Windows 7 что мы хотим  использовать ее в качестве файл-сервера, чтобы она выделила под это ресурсы.
  Изменяем 1 параметр:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
и меняем значение на “1”

Изменяем 2 параметр:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\size
и меняем значение на "2" или “3“.

Для справки:

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

Фильтр в запросе по списку документов (прямые запросы)

спДок = СоздатьОбъект("СписокЗначений");
тз.Выгрузить(спДок,,,"Док");
спДок.ДобавитьЗначение(РН);

//
ТекстЗапроса = "
    |SELECT
    |    Рег.IDDoc as [Док $Документ],
    |    Рег.IDDocDef as Док_вид,
    |    $Рег.СуммаСНДС as [СуммаСНДС]
    |FROM
    |    $Регистр.ОборотыТМЦ as Рег
    |WHERE
    |    Рег.IDDoc IN (SELECT Val FROM #спДок)
";

рс.УложитьСписокОбъектов(спДок, "#спДок");
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
тз.ВыбратьСтроку();


* имя таблицы должно начинаться с символа «#». подробное описание в синтакс-помощнике и в примерах на скрипт-кодинге.
 

Запрос по документу c помощью 1С++ (прямой запрос)

рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
    |SELECT
    |    Рег.IDDoc as [Док $Документ],
    |    Рег.IDDocDef as Док_вид,
    |    $Рег.СуммаСНДС as [СуммаСНДС]
    |FROM
    |    $Регистр.ОборотыТМЦ as Рег
    |WHERE
    |    Рег.IDDoc = :ВыбДок
";

рс.УстановитьТекстовыйПараметр("ВыбДок", РН);   
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
Возврат тз.итог("СуммаСНДС");

Получить таблицу значений с подчиненными документами определенного вида


рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
    |SELECT
    |    Жур.IDDoc as [Док $Документ],
    |    Жур.IDDocDef as Док_вид
    |FROM
    |    _1SJourn as Жур
    |INNER JOIN
    |    _1SCRDOC as Отбор ON Отбор.ChildID=Жур.IDDoc AND Отбор.MDID=0 AND Отбор.ParentVal=:ВыбДок*
    |WHERE
    |    Жур.IDDocDef=$ВидДокумента.РасходнаяНакладнаяКор
 

    |    AND Жур.Closed & 1 = 1";
рс.УстановитьТекстовыйПараметр("ВыбДок", РН);   
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);



где РН - переменная с типом значения "Документ.РасходнаяНакладная",
а подчиненные документы требуются только с видом "РасходнаяНакладнаяКор"
и Жур.Closed & 1 = 1 - указание отбирать только проведенные документы (в таблице _1SJourn есть поле Closed, первый бит которого отвечает за проведенность документа)

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

Запуск программы с правами администратора пользователем не из группы администраторов


Требуется: На рабочей станции пользователь без привилегий должен запускать программу, которая работает только с правами администратора.
 
Стандартное решение: Воспользоваться штатной программой run as, в самом простом виде имеющей синтаксис следующего вида RUNAS  /user:\ program (for example cmd). Пароль можно передать с помощью конвейера echo |, или с помощью ключа /savecred.  Но у этого решения есть существенный недостаток, пароль передается в открытом виде, что недопустимо. Конечно, можно написать скрипт с помощью VBS и зашифровать его. Но мы не будем заниматься этим, а воспользуемся сторонними решениями, так называемыми 3-rd party программами.

Сторонние решения:  CPAU (http://www.joeware.net/freetools/tools/cpau/) и RunasSpc (http://www.robotronic.de/runasspcEn.html).
Эти программы позволяют шифровать строку запуска, и затем уже запускать зашифрованный файл.

Примеры:

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

Проблема с переключением языка при входе в систему / изменение языка по-умолчанию.

Проблема: Раскладка при входе - аглицкая, а пароль - на русском. Или наоборот.
Индикатор RU / EN не отображается, раскладка стандартными комбинациями не переключается.

Решения: 
1. Если логин пользователя на русском:
A=ALT+0192
д=ALT+0228
м=ALT+0236
и=ALT+0232
н=ALT+0237
и=ALT+0232
с=ALT+0241
т=ALT+0242
р=ALT+0240
а=ALT+0224
т=ALT+0242
о=ALT+0238
р=ALT+0240

Остальные коды ASCII тут. 

2. Установка по-умолчанию и настройка внешнего вида экрана приветствия.

1. Параметры реестра, отвечающие за раскладку клавиатуры при входе в систему находятся в разделе
HKU\.DEFAULT\Keyboard Layout\Preload 
Там надо на первую позицию поместить желаемую раскладку - 00000409 (английская раскладка) или 00000419 (русская).

2. Можно внести в реестр необходимые параметры:
а) выполнив следующие команды:
reg add "HKU\.DEFAULT\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f
reg add "HKU\.DEFAULT\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f

б) импортировав в реестр
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Keyboard Layout\Preload] 
;Английская раскладка
 "1"="00000409" 
;Русская раскладка
"2"="00000419" 
;Раскладка с номером 1 будет предлагаться по умолчанию

3. Чтобы сменить сочетание клавиш, переключающих раскладку, выполните команду 
reg add "HKU\.DEFAULT\Keyboard Layout\Toggle" /v Hotkey /t REG_SZ /d 1 /f 
выделенный красным параметр можно менять (1 - ALT+SHIFT, 2 - CTRL+SHIFT). Чтобы переключение работало, необходимо наличие как минимум двух раскладок. См. пункт 2.

P.S. Windows 7/8 - параметры по-умолчанию можно установить через панель управления.

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

Драйвер для АТС Panasonic KX-TDA (Windows 8 x32)

UPD. Мне нужен был драйвер для Windows 8 x32, подошел старый драйвер для Висты, так что это резервный вариант

http://www.k-max.name/ats/drajver-x64-dlya-ats-panasonic-kx-tda/

и еще много ссылок:
http://www.proftelecom.by/manual_panasonic_kx_TDA_100.htm
http://www.telemonter.narod.ru/prog/index.html
http://forum.ru-board.com/topic.cgi?forum=8&topic=3739&start=940
http://wiki.dieg.info/mini_ats_panasonic_kx-tda100

Ошибка "IP-адрес, указанный для этого сетевого адаптера, уже назначен другому адаптеру"

Проблема: При установке IP-адреса появляется ошибка «IP-адрес, указанный для этого сетевого адаптера, уже назначен другому адаптеру имя адаптера. Имя адаптера скрыто от папки «Сетевые подключения», поскольку он либо физически отсутствует в компьютере. Если обоим устройствам назначен один и тот же адрес, только одно из них сможет его использовать. Это может привести к неполадкам в работе системы. Ввести другой IP-адрес для этого адаптера в список IP-адресов в окне дополнительных параметров?».

Решение: Нужно удалить отключенный и не видимый в диспетчере устройств сетевой адаптер.
1. «Пуск» -> «Выполнить» -> cmd
2. Включаем отображение скрытых устройств: set devmgr_show_nonpresent_devices=1
3. Запускаем «Диспетчер устройств: Start DEVMGMT.MSC
4. Открываем «Вид» -> «Показать скрытые устройства»
5. В разделе «Сетевые адаптеры» находим отключенный и удаляем.

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

Проблема "Вход в систему выполнен с временным профилем"

Проблема: У одного сотрудника при входе ошибка «Вход в систему выполнен с временным профилем». Со всеми вытекающими - всё создаваемое в процессе работы на рабочем столе, в «Моих документах» и т.д. при выходе удаляется. Удаление существующего профиля ни к чему не приводило.

Решение: довольно простое: лезем в реестр, открываем HKEY_LOCAL_MACHINE/\SOFTWARE/\Microsoft/\Windows NT/\CurrentVersion/\ProfileList и среди папок профилей, начинающихся на «S-1-5», ищем нужный. При открытии раздела смотрим на параметр ProfileImagePath, в нем будет указан путь к профилю, например, C:/\Users/\User. Нашли ветку? Удаляем вместе со всем содержимым.

Теперь можно входить под этим пользователем — система создаст новый нормальный профиль.

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

База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией

Проблема:
Приехал ноут из ЦО, из старого домена не выводили.
При попытке авторизации в домене, появляется сообщение - "База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией"

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

Решение:
Включить учетную запись компьютера в ActiveDirectory.

Альтернативные решения:

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

Получение и использование нумерованных маркеров на он-лайн картах.

Дано:  Есть старые скрипты (например, Yandex API 1.1) для рисования он-лайн карт напрямую из 1С 7.7 (выполняют отображение торговых точек и маршрутов агентов на карте, скрипты шли в поставке демонстрационной конфигурации 1С 7.7 к ПО "АгентПлюс" примерно в 2012 году)

Требуется: Получить возможность нумерации серий объектов на карте, причем в разных цветах.
Сами скрипты менять не желательно (во всяком случае, на текущий момент). Иначе можно было бы воспользоваться рекомендациями Яндекс и Google, и генерировать параметры маркеров "на лету".
Текущая версия скриптов умеет только загружать в карту произвольные имеющиеся локальные иконки, так что задача намного упрощается - необходимо много-много готовых иконок, чтобы иметь возможность из загрузить в карту :)


Решение 1: Использовать имеющиеся наборы меток:
1. kml4earth - набор иконок для Google
2. https://sites.google.com/site/gmapsdevelopment/ - еще 1 набор стандартных иконок
3. https://code.google.com/p/google-maps-icons - старый проект, но наборы иконок доступны, в том числе и цифровые от 1 до 100, но не для всех цветов
4. http://mapicons.nicolasmollet.com - набор современных иконок, ссылки на другие ресурсы
5. Google map markers | CTAPbIu_MABP's BLOG - полезный блог, в том числе ссылки на большое количество маркеров, иконок и других элементов управления


Решение 2: Использовать генерацию изображений на метках:
Решение найдено здесь. Автор решения Thydzik (по ссылке - есть исходный код на PHP).
Вот что сообщает автор:
Theses markers are totally dynamic and you can create whatever balloon icon you want but you need to host some files on your server to make it work. Just change the URL like: thydzik.com/thydzikGoogleMap/markerlink.php?text=12&color=5680FC where 12 is the text and 5680fc is the hexadecimal color code. Please note that you can't hotlink from your personal "My Maps" (maps.google.com). It can be done in 2 ways : 
    1. Use Google Maps API so that dynamic icon generation can work 
    2. Save static icons, and host them your server

Т.е., посылаем на сервер подготовленную строку, обратно получаем PNG-файл с нужным текстом, сохраняем его и используем где угодно

Пример: Вернуть маркер с текстом 1 голубого цвета:

Результат: 
 


Стандартные цвета: красный: FC6355, : 55D7D7, желтый: FCF356, фиолетовый: 7D54FC, розовый: E14E9D, оранжевый: EF9D3F, черный: 000000, коричневый: 9E7151 
Подбирать цвета можно здесь: http://www.color-hex.com/

Еще примеры результатов: 






Чтобы закачать сразу большой диапазон иконок с нумерацией - используем DownloadMaster
1. Выполняем команду "Закачка - Добавить группу закачек"
2. Указываем модифицированный адрес:
где:
   ХХХХХХ - код выбранного цвета
   $ - подстановочный символ, указывающий, в какое место адреса надо вставить изменяющееся значение счётчика.
3. Указываем диапазон изменения счетчика, например, от 1 до 100
4. Стартует загрузки и получаем 100 файлов иконок с номерами.
5. По желанию, выполняем групповое переименование загруженных маркеров с помощью бесплатного FastStone Photo Resizer.


пятница, 6 февраля 2015 г.

Решение проблемы быстрого расхода батареи на Android из-за процесса MediaServer

Проблема: Очень быстро разряжается батарея на Samsung Galaxy, а в "Настройки - Батарея" отображается, что 40-50% жрёт процесс MediaServer

Что это вообще такое: Процесс MediaServer в Android отвечает за сканирование и обнаружение мультимедийных файлов на внутренней памяти или карте памяти.

Решение:
Наиболее полно раскрыто


Рекомендации по предотвращению:
  • Если устройство Android используется как внешний накопитель, то всегда выполняйте «Безопасное Извлечение» с компьютера. Как выше было указано проблема MediaServer Android возникает из-за повреждения файлов.
  • Используйте качественную карту памяти microSD (ну, это понятно)
  • Не делайте дефрагментацию флеш накопителей и карт память — это верная смерть для них. (???)

Рекомендации по исправлению:

Рекомендации из сети по увеличению времени работы от батареи на Andrioid


Краткий сборник отсюда: http://androidp1.ru/prodlit-zhizn-akkumulyatoru-smartfonov-android/
  1. Уменьшить яркость
  2. Уменьшить время подсветки
  3. Отключит навигацию (GPS, A-GPS) 
  4. Отключить автоматический поворот экрана (акселерометр)
  5. Отключить беспроводные сети (WiFi)
  6. Отключить пакетные данные (GPRS)
  7. Использовать только сети 2G
  8. Отключить автоматическую синхронизацию
  9. Переходить в режим "Пилот", если устройство вне зоны действия сети или на время сна
  10. Отключить "живые обои"
  11. Не устанавливать активных приложений сверх меры
  12. Вырезать рекламу из условно-бесплатных приложений
  13. "Заморозить" неиспользуемые приложения (Titanium backup, Link2SD etc.)
  14. Отключить mp3 на вызов или предварительно подготовить небольшую мелодию
  15. Удалить стоковые приложения от производителя устройства (больше для Samsung, требуется ROOT)
  16. Регулировать частоту процессора с помощью SetCPU
  17. Использовать приложение Tasker для автоматической оптимизации процессов
  18. Отключать WiFi при переходе устройства в спящий режим
  19. Решить проблему с процессом MediaServer
  20. Пыль на контактах micro-USB
  21. Использование приложения Greenify
  22. Темный Фон (AMOLED дисплей) 

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

1С++ - прямые запросы

Оригинал статьи на скрипт-кодинге: http://www.script-coding.com/Direct_queries.html
Копия статьи на скрипт-кодинге: http://ekorshunov.blogspot.com/2015/02/mssql-1-1.html

Статья на мисте: Эффективное использование MSSQL с помощью ВК 1C++

На форуме компоненты 1C++ есть Word'овая версия данной статьи, дополненная различиями в запросах к DBF и SQL базам:
Оригинал: http://www.1cpp.ru/forumfiles/Attachments/mod_002.zip
Копия: https://drive.google.com/file/d/0B5c2buazDySmanlpSTUzRHI4cDA/view?usp=sharing


Конструктор запросов для 1С++ (плагин для OpenConf): http://www.1cpp.ru/forum/YaBB.pl?num=1148127139
Ссылка на файл: http://www.1cpp.ru/forumfiles/Attachments/qryMaker.zip

Немного примеров http://www.1cpp.ru/forum:
+ пояснения к примерам из ветки http://www.1cpp.ru/forum/YaBB.pl?num=1148038411

Эффективное использование MSSQL в 1С при помощи внешней компоненты 1С++


Копия http://www.script-coding.com/Direct_queries.html на память


Перейти на главную страничку сайта (список статей, файлы для скачивания)
ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

Эффективное использование MSSQL в 1С при помощи ВК 1С++
Автор статьи - Ситников Анатолий.
Оригинал стати расположен по адресу http://acsent.nm.ru/others.htm.

Данная статья предполагает наличие базовых знаний по TSQL у читателя.

Содержание:
Глава 1: Мой первый запрос
Глава 2: Условия в запросах
    Приведение параметров к типу колонки
    Отбор по пустому значению
    Отбор по списку или группе
Глава 3: Работа с документами
    Общие реквизиты
    Использование граф отбора
    Получение представлений в запросе
Глава 4: Работа с регистрами
    Получение документа из регистра
    Виртуальные таблицы
    Оптимизация регистров
Глава 5: Вывод остатков в форме списка
Глава 6: Некоторые методы ODBCRecordset
Глава 7: Контроль остатков и партионный учет
Глава 8: Периодические реквизиты
Глава 9: Получение итогов в запросе
Глава 10: Операции UPDATE и DELETE
Глава 11: Эмуляция OLAP кубов, как на T-SQL реализовать опции <Все> и <ВошедшиеВЗапрос>
Глава 12: Разные примеры использования прямых запросов 

Event Log Explorer - анализа и мониторинг журналов событий Windows


Event Log Explorer™ — это эффективное программное решение для анализа и мониторинга событий, хранящихся в журналах событий (Безопасность, Система, Приложения и прочие) операционных систем семейства Microsoft Windows NT/2000/XP/2003/Vista/2008/7/8. Event Log Explorer существенно расширяет возможности встроенной в ОС программы Просмотр событий и имеет много новых оригинальных возможностей.

Сайт разработчика: http://www.eventlogxp.com/rus/

Можно получить бесплатную персональную лицензию - до 3-х ПК.

pdfarea.com - набор бесплатных утилит для работы с PDF

http://www.pdfarea.com/