-
Notifications
You must be signed in to change notification settings - Fork 12
Home
В модуле собраны функции для работы с кластером серверов 1С, обработки выгруженной в файлы конфигурации, работы с HaspMonitor. Перечень рабочих экспортируемых функций на момент публикации:
Remove-NotUsedObjects - производит удаление неиспользуемых объектов конфигурации и выводит информацию о найденных упонинаниях объектов в модулях, используя выгруженные файлы конфигурации. Далее конфигурацию можно загрузить из файлов
Find-1CEstart - поиск стартера 1С по данным реестра
Get-ClusterData - собирает информацию с кластеров 1С, используя COMConnector (информация соответствует данным консоли кластера)
Remove-Session - удаляет сессию с кластера серверов и сеанс ИБ (если указан параметр CloseIbConnection)
Get-NetHaspIniStrings - находит значения параметров в файле nethasp.ini
Invoke-NetHasp - возвращает метрику Sentinel/Aladdin HASP Network Monitor с возможностью преобразования к LLD-JSON для Zabbix
Invoke-UsbHasp - возвращает данные устройств USB (HASP), количество объектов, создаёт LLD-JSON для Zabbix
Invoke-SqlQuery - выполняет произвольный запрос к серверу SQL без использования sqlcmd, так же включены два часто используемых запроса для анализа блокировок сервера
Get-TechJournalData - извлекает данные из файла лога технологического журнала используя регулярные выражения
Get-TechJournalLOGtable - преобразует данные файла технологического журнала в таблицу
Get-APDEXinfo - извлекает данные из xml-файла выгрузки APDEX
Remove-1CTempDirs - Очистка временных каталогов 1С
PS C:\> $modules = Remove-NotUsedObjects E:\TEMP\ExportingConfiguration
PS C:\> $gr = $modules | group File, Object | select -First 1
PS C:\> ise ($gr.Group.File | select -First 1) # открываем модуль в новой вкладке ISE
PS C:\> # альтернатива 'start notepad $gr.Group.File[0]'
PS C:\> $gr.Group | select Object, Type, Line, Position -Unique | sort Line, Position | fl # Смотрим что корректировать
PS C:\> $modules = $modules | ? File -NE ($gr.Group.File | select -First 1) # удаление обработанного файла из списка объектов
PS C:\> # альтернатива '$modules = $modules | ? File -NE $psise.CurrentFile.FullPath'
PS C:\> # и все сначала с команды '$gr = $modules | group File, Object | select -First 1' PS C:\> Find-1CEstart
C:\Program Files (x86)\1cv8\common\1cestart.exe PS C:\> $netHaspParams = Get-NetHaspIniStrings
PS C:\> $hostsToQuery += $netHaspParams.NH_SERVER_ADDR
PS C:\> $hostsToQuery += $netHaspParams.NH_SERVER_NAME
PS C:\> $stat = $hostsToQuery | % { Get-1CclusterData $_ -Verbose } PS C:\> $password = Read-Host -AsSecureString
PS C:\> $data = Get-1CclusterData 1c-cluster.contoso.com -NoClusterAdmins -NoClusterManagers -NoWorkingServers -NoWorkingProcesses -NoClusterServices -ShowConnections None -ShowSessions Cluster -ShowLocks None -NoInfobases -NoAssignmentRules -User Example -Password $password
PS C:\> Remove-1Csession -HostName $data.Clusters.HostName -MainPort $data.Clusters.MainPort -User Admin -Password $password -SessionID 3076 -InfoBaseName TestDB -Verbose -NotCloseConnection PS C:\> Get-NetHaspIniStrings
Name Value
---- -----
NH_SERVER_ADDR {192.168.0.103, 192.168.0.105, 192.168.0.104, 10.10.254.232...} PS C:\> $password = Read-Host -AsSecureString
PS C:\> Invoke-SqlQuery -Server test.contoso.com -Database test -user admin -password $password -Data Custom -Text 'select @@version' # проверка версии сервера
PS C:\> Invoke-SqlQuery -Server test.contoso.com -Database test -user admin -password $password -Data DatabaseLocks -Verbose # получить данные блокировок базы
PS C:\> Invoke-SqlQuery -Server test.contoso.com -user admin -password $password -Data CurrentExequtingQueries-Verbose # получить текущие исполняющиеся запросы PS C:\> Invoke-NetHasp -Action "Discovery" -ObjectType "Server" # получить данные использования лицензий NetHASP
PS C:\> Invoke-NetHasp -Action "Get" -ObjectType "Slot" -Key "CURR" -ServerId "stuffserver.contoso.com" -SlotId "16" -ErrorCode "-127" # получить количество используемых лицензий на слоте 16 сервера. В случае ошибки вернуть код ошибки 127 PS C:\> Invoke-UsbHasp -Action "Discovery" -ObjectType "USBController" # получить данные логических устройств HASP
PS C:\> Invoke-UsbHasp -Action "Count" -ObjectType "LogicalDevice" # получить количество HASP-ключей PS C:\> $tree = Get-TechJournalData C:\LOG\rphost_280\17061412.log # получить данные файла технологического журнала
PS C:\> $properties = $tree | % { $_.Groups['name'].Captures } | select -Unique # получить количество HASP-ключей PS C:\> $tree = Get-TechJournalData C:\LOG\ -Verbose # получить данные файлов технологического журнала
PS C:\> $tree | ? { $_.Groups['name'] -like '*Context*' } | % { $_.Groups['value'] } | Select Value -Unique | fl # найти различные контексты ошибок PS C:\> $table = Get-TechJournalLOGTable 'C:\LOG\rmngr_1908\17062010.log' # получить данные файла технологического журнала в виде таблицы для дальнейшей обработки
PS C:\> # то же, только для всех файлов в каталоге
PS C:\> $table = Get-TechJournalLOGTable 'C:\LOG\' -Verbose PS C:\> $tree = Get-APDEXinfo 'C:\APDEX\' -VerboseВо всех командлетах тип параметра $password изменён на [Security.SecureString] и теперь в параметр следует передавать значение, полученное т.о., например
PS C:\> $password = Read-Host -AsSecureStringДобавил новый командлеты (Get-TechJournalData, Get-TechJournalLOGtable, Get-APDEXinfo) и примеры №№9-12 работы с ними
Обновил файл публикации (архив) последней версией модуля. Так же добавлены полезные запросы SQL из книги эксперта и по данным MSDN.