понедельник, 25 ноября 2013 г.

GPO. Применить политику к группе пользователей.


По умолчанию политика пользователя привязана к контейнеру и соответственно всем пользователям внутри него (прошедшим аутентификацию).
Задача. Сделать гибкую настройку, не перемещая объекты AD.
Решение.

  1. Создаем политику. Подкручиваем в политике пользователя что нужно. 
  2. Настраиваем значение "Security Filtering". Указываем здесь группу к которой применять политику. Например "mydomain-users"
  3. Если нужно исключить например "mydomain-asu" (в предположении, что члены группы "mydomain-asu" входят также в группу "mydomain-users"). Идем на вкладку "Deligation". Добавляем сюда группу "mydomain-asu" - "Advanced" - даем "full" - !!! снимаем последнюю галочку "Apply group policy" . 
Хитрость проста: На применение политики также нужны права.  Дайте их кому необходимо или заберите у избранных.

Яркий пример зачем это нужно - запрещаем пользователям командную строку, но оставляем разрешение для сотрудников асу.

пятница, 15 ноября 2013 г.

выгрузка данных из AD в Excel


Спасибо источнику: http://www.rublin.org/article/skript-izmeneniya-svoistv-polzovatelya-v-ad
слегка подправлено под собчстенные нужды - изменения выделены цветом
Проверено на Windows 2008 R2 Enterprise c ролями addc,dns,dhcp.

SET objRootDSE = GETOBJECT("LDAP://RootDSE")
strExportFile = "C:\scripts\111.xls"
strRoot = objRootDSE.GET("DefaultNamingContext")
strOES = "ou=users,ou=your conteiner" & strRoot
strfilter = "(&(objectCategory=Person)(objectClass=User))"
strAttributes = "sAMAccountName,userPrincipalName,givenName,sn," & _
                                "initials,displayName,physicalDeliveryOfficeName," & _
                                "telephoneNumber,mail,wWWHomePage,profilePath," & _
                                "scriptPath,homeDirectory,homeDrive,title,department," & _
                                "company,manager,homePhone,pager,mobile," & _
                                "facsimileTelephoneNumber,ipphone,info," & _
                                "streetAddress,postOfficeBox,l,st,postalCode,c"
strScope = "subtree"


SET cn = CREATEOBJECT("ADODB.Connection")
SET cmd = CREATEOBJECT("ADODB.Command")
cn.Provider = "ADsDSOObject"
cn.Open "Active Directory Provider"
cmd.ActiveConnection = cn
cmd.Properties("Page Size") = 1000
cmd.commandtext = "<LDAP://" & stroes & ">;" & strFilter & ";" & _
                                   strAttributes & ";" & strScope
SET rs = cmd.EXECUTE
SET objExcel = CREATEOBJECT("Excel.Application")
SET objWB = objExcel.Workbooks.Add
SET objSheet = objWB.Worksheets(1)
FOR i = 0 To rs.Fields.Count - 1
                objSheet.Cells(1, i + 1).Value = rs.Fields(i).Name
                objSheet.Cells(1, i + 1).Font.Bold = TRUE
NEXT
objSheet.Range("A2").CopyFromRecordset(rs)
objWB.SaveAs(strExportFile)
rs.close
cn.close
SET objSheet = NOTHING
SET objWB =  NOTHING
objExcel.Quit()
SET objExcel = NOTHING
Wscript.echo "Script Finished..Please See " & strExportFile

XP перезагружается после установки обновления (KB2862152). ошибка lsass.exe

Выявлена несовместимость  обнолвения KB2862152  на ОС Windows XP sp3 (+ все предыдущие обновления безопасности) c программным обеспечением Secret Net
Симптомы:
После установки обновления и перезагрузки система впадает в циклическую перезагрузку по таймауту 1 минута (предупреждает даже :) ). Есть подозрение, что cрабатывает механизм защиты Secret Net от несанкционированного доступа. На некоторых компах проскакивает еще ошибка lsass.exe, но не при каждой перезагрузке. Закономерность выявить не удалось.
Решение: деинсталлировать обновление ( и зависимые):   KB28686226,  KB2900986, KB2862152 на проблемных компах. Отменить approval  этих обновлений на сервере WSUS.

пятница, 27 сентября 2013 г.

Создается временный профиль пользователя.


Решение 1.  На сайте майкрсофт:  http://support.microsoft.com/kb/947215
Почистить реестр  HKLM\SOFTWARE\Microsoft\Windows NT\CorrentVersion\ProfileList\
Убить профиль с диска(ест-нно сохранить что нужно). Перезегрузка - вход.

Решение 2. Если не помогло 1. случай такой. Windows 8.1. Ввела в домен. Создается временный профиль для 1 учетки. Другие учетки - норм. оказалось очень большой профиль. Отключение Roaming Profiles помогло.


среда, 14 августа 2013 г.

ОИК "Интерфейс". Установка ПО "Настройка серверов" на рабочую станцию.

Задача:
Закрыть доступ сотрудникам отдела телемеханики к рабочим столам серверов телемеханики :), предоставив им возможность настройки всех параметров ОИК с их рабочей станции. Типа разделение полномочий - сисадмин отвечает за железо и ОС, телемеханики рулят своим ПО.
Решение - на рабочей станции:

  1. Устанавливаем комплекс сервера. При установке выбираем - "только программное обеспечение".
  2. Настраиваем список известных компьютеров. (по аналогии с настройкой клиентов)
  3. Задаем компьютер "по-умолчанию" (основной сервер телемеханики)
Тонкость 1: если на компе установлен еще и клиент и для него были настроены алиасы через cfssetup.exe - то нужно их продублировать в "список известных компьютеров". Поскольку установка ПО сервера изменяет ключик в реестре, откуда брать список алиастов.

Тонкость 2: если клиент и сервер находятся в разных подсетях, нужно открыть порт 950 в обе стороны.


ОИК "Интерфейс". Настройка связи с клиентами.


Исходные данные: 2 сервера ОИК  в отдельной подсети НЕ в домене.
Задача: подцепить клиентов из домена (не админы на своих рабочих станциях).
Решение.

Настройки со стороны сервера:

В ПО ОИК:
  1.  Выставить Уровень безопасности  - совместимостьс DOS-клиентами  
  2. Мастер-сервис - безопасность - добавить группу iface_operator и проставить галочкинапротив необходимых прав.(Загадка почему инсталлятор разработчика создает группу iface_operator  но не добавляет ее автоматически даже с минимальными правами. В общем из-за этого п.2,3 делаем руками.)
  3. Сервер-ТМ - безопасность - добавить группу iface_operator и проставить галочкинапротив необходимых прав. 
В Настройках  Windows:
  1. Создаем локальных пользователей, соответствующих клиентам. Задаем сложный пароль. Создаем табличку, где все документируем.
  2. Включаем лок. пользователей в группу iface_operators.
Настройки со стороны клиента:
  1. Установили клиента. Параметры по умолчанию.
  2. Дали полные права на файл C:\windows\interfaceSSH\main\data\cfshare.ini  (или выполнить п.3-5 под администратором - в случае Windows 7 ТОЛЬКо под встроенной учетной записью администратора)
  3. Запустили C:\Program Files\InterfaceSSH\WinDispNT\cfssetup.exe
  4. Для каждого сервера создали алиас: тип связи  TCP/IP .
  5. Для каждого сервера задали пользователя (созданного в. п.1 выше)
Дальше самое интересное: Бывает, что настройки алиасов не сохраняются. В этом случае
  1. Пробуем настроить алиасы из-под админа. Если под админом сохраняет, можно настроить и успокоиться, но означает, что недокрутили права.
  2. Бывает, что слетает ключ HKEY_LOCAL_MACHINE\SOFTWARE\InterfaceSSH\ переменная ServerPath  - значение должно быть пусто.








четверг, 25 июля 2013 г.

vbs. Запуск msi + ярлык на рабочий стол. Ставим Graphviz.


Тонкость только в том, что в сети 2 типа клиентских операционных систем.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "msiexec.exe /I graphviz-2.30.1.msi /passive /qn"

sOSType = Trim(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion"))
If sOSType = "5.1" Then
strDesktop = WshShell.SpecialFolders("AllUsersDesktop")
Set oMyShortCut= WshShell.CreateShortcut(strDesktop & "\graphviz.lnk")
oMyShortCut.TargetPath = "C:\Program Files\Graphviz2.30\bin\gvedit.exe"
oMyShortCut.WorkingDirectory = "C:\program Files\Graphviz2.30\bin"
oMyShortCut.Description = "[GraphViz]"
oMyShortCut.Save
ELSE
strDesktop = WshShell.SpecialFolders("AllUsersDesktop")
Set oMyShortCut= WshShell.CreateShortcut(strDesktop & "\graphviz.lnk")
oMyShortCut.TargetPath = "C:\program Files (x86)\Graphviz2.30\bin\gvedit.exe"
oMyShortCut.WorkingDirectory = "C:\program Files (x86)\Graphviz2.30\bin"
oMyShortCut.Description = "[GraphViz]"
oMyShortCut.Save
End IF

среда, 17 июля 2013 г.

WSUS. Удаляем $NtUninstall старше 90 дней.

понадобятся
freeware конвертер vbs в exe  (не обязательно наверное, но я люблю, когда юзеры не догадываются, что я есть :), использую параметры  "консольное" и "скрыть от пользователя")
Собственно сам скрипт (спасибо автору)
на всякий продублирую мой окончательный вариант: убраны сообщения пользователю и вставлено сравнение дат и версии ОС (будут отрабатывать только на XP и 2003)


Set oShell = CreateObject("WScript.Shell")

sOSType = Trim(oShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")) 
If (sOSType = "5.1") OR (sOSType = "5.2") Then 

Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
Set oFolder = oFSO.GetFolder(sWinDir)
Set oDictionary = CreateObject("Scripting.Dictionary")
For Each oSubFolder In oFolder.SubFolders
IF oSubFolder.DateCreated < Now() - 90 then
sFolderName = LCase(oSubFolder.Name)
sFolderPath = LCase(oSubFolder.Path)
If Left(sFolderName, 13) = "$ntuninstallq" _
Or Left(sFolderName, 14) = "$ntuninstallkb" Then
' Get the update name for the registry delete:
sUpdateName = Mid(sFolderName, 13, Len(sFolderName) - 13)
' Never delete folders/files while enumerating a file/folder collection.
' Adds them to a dictionary object for later handling instead:
oDictionary.Add sUpdateName, sFolderPath
End If
End if
Next
sDeleted = ""
For Each sUpdateName In oDictionary.Keys
sDeleted = sDeleted & vbCrLf & sUpdateName
sFolderPath = oDictionary.Item(sUpdateName)
On Error Resume Next
' Remove entry in Add/Remove Programs:
oShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\" _
& "CurrentVersion\Uninstall\" & sUpdateName & "\"
On Error Goto 0
' Delete the unisntall folder:
oShell.Run "%Comspec% /C RD /S /Q " _
& Chr(34) & sFolderPath & Chr(34), 0, True
Next
End if

Готовый exe распространяем любимым способом:
Сначала была идея повесить людям в планировщик (автоматически ест-но) - отказалась - нет возможности отследить общую картину. Использую бонусы Касперского: Создаем новую групповую задачу 


- и получаем красивый результат:


Все. 

вторник, 16 июля 2013 г.

WSUS. Принудительное обновление серверов по расписанию. (не через GPO)

задача.
защитить предприятие от косяков Microsoft. устанавливать обновления по расписанию: я для себя разработала такое :
понедельник - тестовая среда ( должны присутствовать все OC предприятия)
вторник - чай
среда - наименее значимый  виртуальный сервер (падение которого заметят все, но и восстановить можно быстро) - например прокси или один из узлов кластера.
четверг - все остальные виртуалки (кроме самого wsus)
пятница - вся физика (кроме backup)
суббота - backup
воскресенье - wsus
решение.
- в GPO  - автоматически загружать и спросить пользователяна об устаноке
далее
- 2008R2 - cmd  в планировщике
                  wuauclt.exe /updatenow                
- 2003 - скрипт vbs отсюда http://duncanbowring.wordpress.com/2013/03/22/install-and-download-your-approved-or-downloaded-wsus-updates/
тонкости:
работает "прозрачно" - не появляется надпись "идет установка обновлений" - долго ждем...
запускать из планировщика через cscript.exe  "путь\файл.vbs"
содержание :
' Automatically install approved updates from WSUS and reboot
' *** check
Set objUpdateSession = CreateObject("Microsoft.Update.Session")
Set objUpdateSearch = objUpdateSession.CreateupdateSearcher()
objUpdateSearch.ServerSelection = 0 'use system default
Set objUpdateSearchResult = objUpdateSearch.Search("IsInstalled=0 and Type='Software'")
For I = 0 To objUpdateSearchResult.Updates.Count-1
Set objUpdate = objUpdateSearchResult.Updates.Item(I)
'WScript.Echo I + 1 & "> " & objUpdate.Title
Next
If objUpdateSearchResult.Updates.Count = 0 Then WScript.Quit 'wscript.echo "no updates"
' *** download
Set objUpdatesDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to objUpdateSearchResult.Updates.Count-1
Set objUpdate = objUpdateSearchResult.Updates.Item(I)
boolAddThisUpdate = false
If Not objUpdate.InstallationBehavior.CanRequestUserInput = true Then
If objUpdate.EulaAccepted = false Then
objUpdate.AcceptEula()
boolAddThisUpdate = true
Else
boolAddThisUpdate = true
end if
End If
If boolAddThisUpdate = true Then objUpdatesDownload.Add(objUpdate)
Next
If objUpdatesDownload.Count = 0 Then WScript.Quit
Set objUpdateDownloader = objUpdateSession.CreateUpdateDownloader()
objUpdateDownloader.Updates = objUpdatesDownload
objUpdateDownloader.Download()
' *** install
Set objUpdatesInstall = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 To objUpdateSearchResult.Updates.Count-1
set objUpdate = objUpdateSearchResult.Updates.Item(I)
'    WScript.Echo I + 1 & "> " & objUpdate.Title
If objUpdate.IsDownloaded = true Then objUpdatesInstall.Add(objUpdate)
Next
if objUpdatesInstall.Count = 0 then wscript.quit
Set objUpdateInstaller = objUpdateSession.CreateUpdateInstaller()
objUpdateInstaller.Updates = objUpdatesInstall
Set objInstallationResult = objUpdateInstaller.Install()
' *** restart
Set objShell = CreateObject("WScript.Shell")
objShell.Run "shutdown.exe -r -t 0"

(я закомментировала последние 2 строки и перезагружаю по другому расписанию)

PS себе:  в будущем унифицировать задачу под обе операционки через PowerShell

среда, 3 июля 2013 г.

CNP410S + HP 1160 + W2k3

имеем: Windows 2003 r2 x64   в качестве сервера печати
задача: прикрутить к нему CNP410S (c подключенным к нему hp1160)
изюминка:  добавить - локальный - новый порт - стандарт TCP/IP - Network printserver(1 port) -далее по стандартной схему прикрутить драйвер
подходящий тип порта вычислен методом перебора

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

tp-link 310U + hp p2055 + windows 2003 r2 x64

исходные данные: сервера печати в NLB-кластере на Windows 2003 x64
задача прикрутить hp P2055 через tp-link 310U
решение.

Первый этап

  1. установить MFP and Storage Server (в комплекте с tp-link 310U) см. картинку ниже
  2. настроить свой IP для принт-сервера (пкм - установка сервера )
  3. узнать имя очереди печати принтера  (пкм на принтере - параметры устройсктва - имя очереди - выписать на бумажку)


Второй этап (Стандартная установка принтера.)
  1. Принтеры - Установка принтера - Локальный
  2. Новый порт - Стандартный TCP/IP 
  3. Цепляем драйвер (натравить на папку - установка через фирменный инсталлятор не прокатит - напишет операционная система не поддерживается)
  4. Теперь выбираем из списка серверов установленный принтер - свойства - порт - свойства - меняем на LPR  и указываем имя очереди из первого этапа.
Минус. MFP sorage server должен всегда висеть в трее.

Подробно расписано здесь  http://www.tplink.com/ua/article/?faqid=222

    .

четверг, 20 июня 2013 г.

Касперский. CS Admin Kit.msc не запускается.



Помогло удаление CS Admin Kit в папке C:\Documents and Settings\<имя>\Application Data\Microsoft\MMC\.

Важно! На просторах инета пишут : " Обратите внимание:  Переустановка консоли администрирования возникшую проблему не решает."

Самая вероятная причина: перезагрузка системы с открытой консолью.

четверг, 16 мая 2013 г.

Windows 7. Не мапятся диски через логин скрипт (GPO)

Симптомы:  На машинах windows 7 professional  не отрабатывает скрипт, который мапит диски ( распространяется через групповую политику ). От учетки пользователя результат не  зависит.  Причем если запустить скрипт вручную - он отрабатывает и диски появляются.

Решение
изменить параметр реестра(от админа)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 
EnableLinkedConnections = 1 (DWord)

делаем fixwin7logon.bat
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLinkedConnections" /t REG_DWORD /d 0x00000001 /f

запуск от админа на компах с win7

Решение отсюда
обсуждение проблемы   здесь

понедельник, 29 апреля 2013 г.

Запуск exe или bat с сетевого ресурса от имени. Setup

Билась несколько дней с простой задачей:  Надо тихо и незметно для конечного пользователя запустить exe с параметрами, находящийся на сетевом ресурсе. Сам exe -  пакет установщик всеми горячо любимого SAP (соответственно папка с дисирибутивом на 2 гига). Соответственно нужны права локального админа.
Исходные данные: домен, на компах пользователей в группе администраторы есть "волшебная" доменная группа.
Решение очевидное и самое простое -  батник:

net use i: "\\адрес\папка с дистрибутивом" /user:домен\user из волшебной группы  пароль
i:\приложение  параметры

Результат неочевидный: вылетает с ошибкой "Запрещено подключение к одному сетевому ресурсу от имени разных  учетных записей" (что-то такое).
Причина - Инсталлятор лежал на файловом сервере к которому люди автоматом цепляются при входе в систему. (Естественно отключать их нелься, поскольку мы хотим сделать все тихо)
Решение - Переложить инсталлятор на виртуалку (не суть) к которой userы не мапятся по дэфолту.
Безопасность - скачать bat to exe converter. Отличная вещь и freeware! Включить галочку "невидимое приложение". Все это чтобы пользователь не увидел ни cmd окна ни (чур меня) пароля администратора.
Выгода - сам батник пускаем от текущего пользователя любымыми средствами распространения. (Я люблю KAV за его визуальность результатов).
Не забудьте убрать диск i после инсталляции
Возможные улучшения - отобразить перед установкой сообщение "Не запускайте SAP - идет обновление". ,  после установки "SAP обновлен - можно работать"

пятница, 5 апреля 2013 г.

Kaspersky. Касперский. error 1069

1. Консоль администрирования 8.0.2177 не соединяется с сервером администрирования.

Смотрим службу  Kaspersky Lab Administration Server.  Должно быть состояние "работает". При запуске службы выдает ошибку 1069.
Решение.  Служба "Kaspersky Lab Administration Server" - Cвойства - Вход в систему. Скроее всего Вы сменили пароль учетки,  от имени которой запускается служба.

вторник, 2 апреля 2013 г.

cmd. 2008R2.

Автоматизация в 2008r2 через командные строки
Пополняю по мере поступления

На контроллере домена. 
Ставим галочки "User must change password at net logon" всем пользователям контейнера  Users.
(не забывыем, что для выполнения нужны админские права)
dsquery user "OU=users,DC=домен" -limit 0 | dsmod user -mustchpwd yes

Перезагрузка 
shutdown -r -t 0
Как нежно перезагрузить Hyper-V хост : здесь




cmd. Workstations.

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

сбросить ip и dns в автоопределение
netsh interface ip set address name="Подключение по локальной сети" source=dhcp 
netsh interface ip set dnsservers name="Подключение по локальной сети" source=dhcp 

задать IP4
netsh interface ip set address "Подключение по локальной сети" static <address>  <mask>  <route>


задать DNS - сервера 
условия : XP - русская. Имена сетевых подключений не изменялись
netsh interface ip set dns name="Подключение по локальной сети" static X.X.X.X
netsh interface ip add dns name="Подключение по локальной сети"  X.X.X.X
netsh interface ip add dns name="Подключение по локальной сети" X.X.X.X  index=3

Дополнительный сетевой интерфейс - выделеная линия на другого провайдера ( сама в шоке но оказалось что бывает и такое ).
Реализация:
шлюз по умолчанию на провайдера.
на внутреннем интерфейсе - шлюза нет.
Далее для каждой их локальных сетей :
ROUTE -p ADD <local net> MASK <local mask>  <local gateway>

стандартные проверки.
DHCP :   ipconfig -release  - освободить IP ; ipconfig -renew   - получить  IP
AD     :   gpresult -r - сводная инфа; rsop - результирующая политика



пятница, 29 марта 2013 г.

Hyper-V. Backup виртуальных машин.

В инете найдете несколько вариантов решений.
  • через полный останов машин (далее или через копирование vhd или создание теневой копии тома)
  • без останова виртуальных машин (через создание снапшота). 
Почему НЕ НАДО backupить через снапшоты:
  • для слияния avhd с vhd все-равно придется выключать машину (и в чем тогда смысл?)
  • добавляется еще ДВЕ точки возможного сбоя (при создании снапшота, при слиянии жестких дисков)
  • Авторитетное мнение Microsoft - снапшоты НЕ для backup: Здесь
  • Еще одно авторитетное мнение почему нет: Здесь
  • И еще одно в картинках: Здесь
Думаю этот достаточно, чтобы не поддаться соблазну.

среда, 27 марта 2013 г.

Hyper-V. StateID. Коды состояний виртуальных машин.


Unknown
0
The state of the VM could not be determined.

Enabled
2
The VM is running.

Disabled
3
The VM is turned off.

Paused
32768
The VM is paused.

Suspended
32769
The VM is in a saved state.

Starting
32770
The VM is starting. This is a transitional state between 3 (Disabled) or 32769 (Suspended) and 2 (Enabled) initiated by a call to the RequestStateChange method with a RequestedState parameter of 2 (Enabled).

Snapshotting
32771
Starting with Windows Server 2008 R2 this value is not supported. If the VM is performing a snapshot operation, the element at index 1 of the OperationalStatus property array will contain 32768 (Creating Snapshot), 32769 (Applying Snapshot), or 32770 (Deleting Snapshot).
Windows Server 2008:
This value is supported and indicates the VM is performing a snapshot operation.

Saving
32773
The VM is saving its state. This is a transitional state between 2 (Enabled) and 32769 (Suspended) initiated by a call to the RequestStateChange method with a RequestedState parameter of 32769 (Suspended).

Stopping
32774
The VM is turning off. This is a transitional state between 2 (Enabled) and 3 (Disabled) initiated by a call to the RequestStateChange method with a RequestedState parameter of 3 (Disabled) or a guest operating system initiated power off.
Pausing

32776
The VM is pausing. This is a transitional state between 2 (Enabled) and 32768 (Paused) initiated by a call to the RequestStateChange method with a RequestedState parameter of 32768 (Paused).

Resuming
32777
The VM is resuming from a paused state. This is a transitional state between 32768 (Paused) and 2 (Enabled).

Hyper-V. Reboot. Перезагрузка для осторожных.

Цель: Перезагрузка серверов Hyper-V по расписанию (например  после наката обновлений WSUS ).

Описанный ниже алгоритм выполныет две функции

  • переводит все виртуалки, находящиеся в состоянии "Running" в состояние "Save" и пускает хост на перезагрузку   
  • при запуске Windows стартует все виртуалки, находящиеся в состоянии "Save".

исходные данные:

Windows 2008 R2 + Hyper-V
PowerShell + библиотека функций для Hyper-V James O’Neill  

Значения кодов состояний : 2 - start,32769 - save

1. создаем  restart-hv.ps1 


Import-Module "C:\Program Files\modules\hyperV"
Start-Sleep -s 60
$VMs = Get-WmiObject MSVM_ComputerSystem -computer "." -namespace "root\virtualization"
ForEach ($vm in $Vms)
{
if ( $vm.name -ne $vm.elementname ){
    if ( $vm.EnabledState -eq 2 ) {
        Suspend-VM $vm -force
        Start-Sleep -s 60
        }
    }  
}
cmd /c "shutdown -r -t 15" > log.txt

2. создаем  start-hv.ps1

Import-Module "C:\Program Files\modules\hyperV"
Start-Sleep -s 60
$VMs = Get-WmiObject MSVM_ComputerSystem -computer "." -namespace "root\virtualization"
ForEach ($Vm in $Vms)
{
if ( $vm.name -ne $vm.elementname ){
    if ( $vm.EnabledState -eq 32769 ) {
        Start-VM $Vm -force
        Start-Sleep -s 20
        }
    }  
}


3. создаем start-hv.cmd
powershell.exe  "& {e:\scripts\start-hv.ps1}"


4. создаем restart-hv.cmd
powershell.exe  "& {e:\scripts\restart-hv.ps1}"


5. создаем  в планировщике задач простую задачу 

  • запуск программы restart-hv.cmd
  • периодичность (раз в неделю более чем достаточно.рекомендую перезагружать хосты Hyper-V      в разные дни недели - есть практика косяков после наката обновлений )-
  • выполнять с наивысшими правами
  • выполнять при невыполненом входе в систему



6. создаем  в планировщике задач простую задачу 

  • запуск программы start-hv.cmd
  • выполнять при запуске Windows
  • выполнять с наивысшими правами
  • выполнять при невыполненом входе в систему 



пятница, 15 февраля 2013 г.

Windows 7.ввод в домен. нет доступа к панели управления и принтерам

Windows 7.
Дело оказалось в сломаном профиле.
Решение ошибки на сайте майкрсофт:  http://support.microsoft.com/kb/947215

Поскольку у меня профиль был свежесозданный - просто убила его (в реестре HKLM\SOFTWARE\Microsoft\Windows NT\CorrentVersion\ProfileList\  и на С:\Пользователи)- перезегрузка - вход.

четверг, 14 февраля 2013 г.

ОИК "Интерфейс". Backup


Пользуемся утилитой разработчика ПО -  ifs_bkup.exe.
Запуск без параметров показывает ее возможности:

ifs_bkup TM -M<machine> -S<server> -D<localdir> -F<CFG,ARRAY,EVLOG,ALARMS,SECUR,RETRO>

ifs_bkup RB -M<machine> -S<server> -D<localdir> -F<BASES,SECUR>

переписка с Игорем Нечаевым по этой утилите:

> хочу запускать на резервном чтобы не останавался основной.

Насколько я знаю, резервное копирование не вызывает срабатывания перехода на резерв.
Там сервер попадает в особое состояние, не останавливается по-настоящему

> все ли из возможных параметров -F  передаются резервированием с основной машины на
резервную? (абслютно ли равнозначен ли запуск ifs_bkup TM на резервном сервера запуску на
основном?)

Массив данных должен быть идентичен, именно этим и занимается процесс резервирования
Ретроспективы могут отличаться, теоретически, потому что каждый из серверов ведёт свои
ретроспективы. Они сравниваются и синхронизируются, но всё же. Параметры безопасности
будут разными!

> ОШИБКА при попытке резервного копирования данных сервера  iface2\ServerDB:

К резервному серверу базы никак не присоединиться, пока он в ожидании завершения
основного. Сервер баз возможно бэкапить только с основного сервера.

примеры строк backup: 
ifs_bkup.exe TM -Miface2 -SServerTM -Dd:\backup -FCFG  -FSECUR -FRETRO
ifs_bkup.exe TM -Miface2 -SServerDB -Dd:\backup -FBASES  -FSECUR 

ОИК "Котми". Тонкая настройка


Изменения com-порта: 
ОИК-Клиент -> Администратор -> п/система щит -> НСИ логических каналов щита ->
T_DECIMA_CHANAL -> D_CHIL_COM_PORT

Обмен ОИК "Котми" с ОИК Интерфейс (дельта XP):
ОИК-Клиент -> Администратор ->НСИ каналов МЭК -> МЭК канал основной

Настрить ОИК на запись в базу времени по гринвичу:
Ярлык клиента - свойства - добавить после .exe  sw1
Запустить клиента
Сервис -> Конфигурации АРМ -> sw1 -> Администратор
правая кнопка мыши - Добавить элемент
тип АctiveX - имя sw1 - команда ScdAdm.ModSWTime. - Ок
правая кнопка мыши - Сохранить и выйти

Настройка прав пользователей
Права настраиваются только для групп

ОИК "Котми". Основы.



Настройки функциональной части системы производятся через АРМ клиента Scada
( таблицы, пользователи, формы, таблицы,справочники, ТМ, описания...)
Настройки и управление запруском служб осуществляется через Монитор серверов SCADA
пользователь и пароль для входа в монитор описан в разделе "пользователи" АРМ клиента Scada.

Backup:
Состав:
- Base\*.mdb (один)
- Scd\*. (на читую установку просто накатить эту папку поверх)
ArchOic (архив)

Исполненение:
чтобы скопировать mdb порядок действий такой:
- зайти в монитор Scada под учетной записью, обладающей правами администратора
- вызвать контекстное меню сервера (он должен гореть зелененым) - выбрать "стоп"
- указать волшебный пароль на запуск/останов служб Scada
   (описан  в каталоге установки Scada\********.ini)
- после выгрузки сервисов убедится что исчез файл ldb после чего скопировать mdb

Контакты:
по железу:  Елезаренуо Виктор Анатольевич
по софту: Андреев Дмитрий Сергеевич
в Калуге: Порядный Владимир

среда, 23 января 2013 г.

Backup freeware. Мой выбор.

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

FreeSync для зеркалирования backup-ов. Недостататок - не умеет сохранять на web. Использую для хранения копии backup-ов на USB 3.0 диск и везде где софт умеет делать только локальный backup.

AlwaysSync всем хороша, но ни разу не бесплатная. Работает один месяц, потом предлагает купить или подожать месяц. Через месяц простоя снова начинает работать. Хотя обойти можно, установив и настроив 2  экземпляра с промежутком в 1 месяц. Костыли короче. 

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

gpedit. Приятные мелочи.

gpedit.msc
На машинах вне домена.

Достала спрашивать почему я перегружаю(или выключаю) комп. 
-  Administrative Templates -> System -> Display ShutDown Event Tracker -> disable

Хочу иметь возможность выключиться не входя в систему
-  CC -> Windows Settings -> Security options -> Local Policies -> Security Options -> Shut Down -> Allow System to be shutdown without having to logon  -> eneble