Перейти к содержимому

Как обновить сертификат ssl hp ilo через PowerShell и Windows CA

Задача. У сертификатов подошел к концу срок действия. Надо массово обновить сертификаты на hp ilo .

  1. Просканировать под сеть. Составить список ilo hp
  2. Определить у кого закончился срок действия
  3. Перевыпустить сертификат в Windows CA
  4. Импортировать в hp ilo

Написал скрипт.

$minCertAge = 80
$timeoutMs = 10000
$ilo = Find-HPiLO 172.16.35.0-255 | Select-Object HOSTNAME # Ищет hp ilo
$sites = $ilo.HOSTNAME

# Отключить проверку корректности сертификата
[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

# Создаем массив для хранения сайтов с отрицательным $certExpiresIn
$sitesWithNegativeCertExpires = @()

foreach ($site in $sites)
{
    $fullSiteUrl = "https://$site"  # Добавляем префикс "https://"
    
    Write-Host "Проверка $fullSiteUrl" -f Green
    $req = [Net.HttpWebRequest]::Create($fullSiteUrl)
    
Читать далее

Как найти почему не работает доменная авторизация 1с.

Проблема заключается что в офисе в ект с локальных пк не работает доменная авторизация 1с клиент. Но если тот же самый пользователь подключается к терминальной ферме в мск то все работает.

Поиск неисправности на клиенте .

На клиенте включаем отладочный журнал

по пути C:\Program Files\1cv8\8.3.22.2143\bin\conf

файл logcfg.xml

содержимое

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\log" history="168">
    <event>
      <ne property="Name" value=""/>
    </event>
    <property name="all">
    </property>
  </log>
</config>

В папку “C:\log будут складываться логи

Как найти почему не работает доменная авторизация 1с.

Ошибки

02:57.522001-0,EXCP,0,process=1cv8c,OSThread=3524,Descr=InitializeSecurityContext: Error 8009030c!
02:57.568000-0,EXCP,2,process=1cv8c,OSThread=6096,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='src\vrscore\src\VResourceSessionImpl.cpp(534):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль

8009030c! ошибка ldap но если под тем же пользователем но с мск то все норм.

Так же … Читать далее

Как синхронизировать папку с помощью PowerShell с фильтром по AD и запустить синхронизацию одновременно со всеми серверами.

Задача синхронизировать одну папку со множеством сервером. Делается это для распространения базы Касперского на удалённые площадки.

function Write-Log {
    param (
        [string]$Message
    )

    # Получение текущей даты и времени
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    
    # Форматирование сообщения в формате "дата время: сообщение"
    $logMessage = "{0}: {1}" -f $timestamp, $Message
    
    # Запись сообщения в лог-файл
    $logMessage | Out-File -FilePath "D:\Programs\replica_kasper\Log.txt" -Append
}

# Установите модуль PSParallel, если у вас его нет
if (-not (Get-Module -Name PSParallel -ListAvailable)) {
    Install-Module PSParallel -Scope CurrentUser
}

# Загрузите модуль PSParallel
Import-Module PSParallel

# Получение списка серверов из AD
$servers = Get-ADComputer -Filter {OperatingSystem 
Читать далее

Как вывести список почтовых ящиков с информацией отключены пользователи и есть ли редиректор exchange

Задача сделать список почтовых ящиков с информацией отключена или нет учетная запись и есть ли редирект.

# Подключение к Exchange PowerShell
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://<ExchangeServerFQDN>/PowerShell/" -Authentication Kerberos
Import-PSSession $session

# Получение списка ящиков
$mailboxes = Get-Mailbox -ResultSize Unlimited

# Путь к CSV-файлу для вывода
$csvPath = "C:\Path\To\Output.csv"

# Создание пустого массива для хранения данных
$exportData = @()

# Обработка каждого ящика
foreach ($mailbox in $mailboxes) {
    $primarySMTPAddress = $mailbox.PrimarySMTPAddress

    # Получение данных ящика и статуса отключения
    $adUser = Get-ADUser -Filter "ProxyAddresses -like '*$primarySMTPAddress'" -Properties Enabled
    
    if ($adUser) {
        $forwardingAddress = $mailbox.ForwardingAddress
        $forwardingSmtpAddress = ""

        if ($forwardingAddress) {
            
Читать далее

Как исправить ошибку в VMware Horizon при создании мгновенных клонов(instant clone).

Ошибка в коллекции:

Provisioning error occurred for Machine : Resync operation failed
Automatic error recovery for Pool operatorvdi: attempting to resync Machine
Automatic error recovery for Pool operatorvdi: attempting recovery for Machine
Provisioning error occurred for Machine : Cloning failed for Machine
Provisioning disabled for Pool

После анализа. Стало понятно что виновата cp-replica дохлая.

Как исправить ошибку в VMware Horizon при создании мгновенных клонов(instant clone).

Надо её удалить.

Но удалить её нельзя просто.

Идём на сервер Horizon  . и заходим в cmd

cd C:\Program Files\VMware\VMware View\Server\tools\bin
iccleanup.cmd -vc vcsa.voxys.ru -uid admin@adminbd.ru -skipCertVeri
list

Как исправить ошибку в VMware Horizon при создании мгновенных клонов(instant clone).

надо удалить 3

delete --index 3

Как исправить ошибку в VMware Horizon при создании мгновенных клонов(instant clone).

Теперь нормальная картина две коллекции два темплейта и реплики  .

Как исправить ошибку в VMware Horizon при создании мгновенных клонов(instant clone).

 

Как удалить из папки файлы с серверов ad им перезапустить службу.

Задача удалить старые сертификаты из папки после этого перезапустить службу.

# Загрузка модуля ActiveDirectory
Import-Module ActiveDirectory

# Получение списка серверов из AD
$servers = Get-ADComputer -Filter {OperatingSystem -like "*Server*"} | Select-Object -ExpandProperty Name

# Путь к папке, из которой нужно удалить файлы
$folderPath = "C$\ProgramData\VMware\Log Insight Agent\cert"



# Проход по каждому серверу
foreach ($server in $servers) {
    $serverPath = "\\$server\$folderPath"
    
    # Проверка существования папки на сервере
    if (Test-Path $serverPath) {
        # Удаление файлов
        Get-ChildItem -Path $serverPath | Remove-Item -Force
        
        # Перезапуск службы LogInsightAgentService
        Get-Service -Name LogInsightAgentService -ComputerName $server  | Restart-Service -Force
        
        # Перезапуск службы LogInsightAgentUpdaterService
       Get-Service -Name LogInsightAgentUpdaterService   -ComputerName $server  
Читать далее

Как мониторить dfs replication.

Задача получать на почту письмо с ошибками репликации dfs replication

Скрипт https://thesurlyadmin.com/2012/08/03/dfs-replication-monitoring/ дописал что отправка была на почту

<# 
.SYNOPSIS
    Monitor your DFS Replication Backlog with a graphical history.
.DESCRIPTION
    Use the DFSMonitorWithHistory.ps1 script to monitor your DFS backlog.  It
    contains a graphical history chart as well as detailed information from
    each run.  I recommend running from a scheduled task every hour to get the
    best information.
    
    Make sure to edit the PARAM section and update it for your environment.
    
    Graphical history chart is a Google visualization that requires Flash to run 
    (it's the same chart you see on Google 
Читать далее

Как в zabbix agent добавить новую строчку настройки по серверам ad

Проблема в zabbix agent 2 что скрипты перестали выполняться. Ошибка Unknown metric system run.

Надо в конфиг добавить строчку

AllowKey=system.run[*]

Но так как серверов много еще и службу надо перезапустить. То сделал через powershell

Import-Module ActiveDirectory

$servers = Get-ADComputer -Filter {OperatingSystem -like "*Server*" | Select-Object -ExpandProperty Name

foreach ($server in $servers) {
    $serviceName = "Zabbix Agent 2"

    $configPath = "\\$server\C$\Program Files\Zabbix Agent 2\zabbix_agent2.conf"  # Укажите путь к конфигурационному файлу агента
    $newLine = "AllowKey=system.run[*]"

    $configContent = Get-Content -Path $configPath
    $configContent += $newLine

    $configContent | Set-Content -Path $configPath

    Invoke-Command -ComputerName $server -ScriptBlock {
        Param($serviceName)
        Restart-Service -Name $serviceName
    } -ArgumentList $serviceName
}

 

Как собрать информацию из 1с кластера и записатть в таблицу 1с

Скрипт для запуска в шедулер .

$Server = $env:computername
$Start = Get-Date
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("cp866")
$emailFrom = "monitoring@tech.adminbd.ru"
$smtpServer = "adminbd.ru"
$email1 = "konstantin@adminbd.ru"
$debug=0
$force=1
 
 
$SubjRPHost = "$Server : RPHost не запущен."
$SubjRASExist = "$Server : Служба RAS не существовала. Устанавлена."
$SubjRASNotRun = "$Server : Служба RAS была не запущена. Запущена."
$SubjRASVersion = "$Server : Версия RAS не совподает с версией запущенного RPHost. Служба переустанавена."
  
function SendEmail ($subj=$null, $mailbody=" " ) {
    Send-MailMessage -SmtpServer $smtpServer -To $email1 -From $emailFrom -Subject $subj -body $mailbody  -Encoding UTF8
}
  
$RPHostPath = Get-Process -Name rphost | select ID, FileVersion, Path, WorkingSet64 | sort 
Читать далее

Как мониторить количество пользователей 1c web клиент.

Задача мониторить сколько пользователей заходит через web клиент для выявление сколько лицензий нужно покупать.

Буду мониторить через rac.exe + zabbix

Пишем скрипт

$RPHostPath = Get-Process -Name rphost | select ID, FileVersion, Path, WorkingSet64 | sort WorkingSet64 | select -expand path -first 1
$Actual1CFolder = Split-Path $RPHostPath
Set-Location $Actual1CFolder
$cluster = .\rac.exe cluster list | % {if ($_ -match 'cluster'){$_ -replace "^.*?: "}}
$sessionBase = @()
$racSessions = .\rac.exe session --cluster=$cluster list
Foreach($racSession in $racSessions)
{    if ($racSession -match "app-id ")
    {
        if ($debug -eq 1)
        {
            $racSession -replace "^.*?: "
        }
        $Session = New-Object -TypeName PSObject
        $session | Add-Member -Type 
Читать далее