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

Как найти кому принадлежат несвязанные объекты vSAN Virtual Objects Unknown object type через powershell powercli

Ошибка на vmware vsan Unknown object type

Как найти кому принадлежат несвязанные объекты vSAN Virtual Objects Unknown object type через powershell powercli

Прежде чем чистить надо найти что за файлы и кому принадлежат

$vcenter = "vcsa01"
Connect-VIServer $vcenter
$Datacenter_name = "Mos*"

$ClusterName= `
Get-Datacenter -Name $Datacenter_name | Get-Cluster | Where-Object {$_.Name -like 'CL01' } 


$clusterView = Get-Cluster $ClusterName
$ClusterMoRef = $Clusterview.ExtensionData.MoRef
$vmhost = ($clusterView | Get-VMHost) #| select -First 1
$vsanIntSys = Get-View $vmhost.ExtensionData.configManager.vsanInternalSystem

$vsanClusterObjectSys = Get-VsanView -Id VsanObjectSystem-vsan-cluster-object-system
$results = (($vsanClusterObjectSys.VsanQueryObjectIdentities($clusterMoRef,$null,$null,$true,$true,$false)).Identities | where {$_.Vm -eq $null})


foreach ($result in $results) {
$jsonResult = ($vsanIntSys.GetVsanObjExtAttrs($result.Uuid)) | ConvertFrom-JSON
foreach ($object in $jsonResult | Get-Member) {
if($($object.Name) -ne "Equals" -and $($object.Name) -ne "GetHashCode" -and $($object.Name) -ne "GetType" 
Читать далее

Как обновить политику адресов электронной почты и скрипт для удаление дополнительных псевдонимов из OU.

Задача при переноси уз с почтовыми адресами (adminbd.ru) в ou на которую назначена политика адресов электронной, необходимо обновить политику что бы создался новый псевдоним (alias email) и удалить старый email адрес.

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
 Get-EmailAddressPolicy name | Update-EmailAddressPolicy
 
Get-EmailAddressPolicy (имя политики) | Update-EmailAddressPolicy
$ouName = "НазваниеOU"
$domainToRemove = "adminbd.ru"
$logFilePath = "C:\Scripts\delet_alias_LGC\log.txt"
Remove-item $logFilePath
$emailAddresses1 = Get-Mailbox -OrganizationalUnit $ouName -ResultSize Unlimited
$emailAddresses1 = $emailAddresses1 | Where-Object { $_.PrimarySmtpAddress -notlike "*@adminbd.ru" }
 
foreach ($user in $emailAddresses1) {
    $voxysAddresses = $user.EmailAddresses -split ',' | Where-Object { $_ -like "smtp:*@$domainToRemove" }
    $voxysAddresses = $adminbdAddresses -replace "^smtp:", ""
 
    if ($voxysAddresses.Count -ge 1) {
        # Удаляем 
Читать далее

Как найти включённого локального администратора на серверах в AD.

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

# Получить список всех серверов в AD
$computers = Get-ADComputer -Filter {OperatingSystem -like "Windows Server*"} -Properties Name
 
# Определить имя пользователя, который будет использоваться для выполнения удаленных команд
$credential = Get-Credential
 
# Создать массив для хранения результатов
$results = @()
 
# Пройти по списку серверов и выполнить команду на каждом из них
foreach ($computer in $computers) {
    $computerName = $computer.Name
 
    # Проверить доступность сервера
    if (Test-Connection -ComputerName $computerName -Count 1 -Quiet) {
        $session = New-PSSession -ComputerName $computerName -Credential $credential
 
        # Искать учетную запись локального администратора
        $localAdmin = Invoke-Command -Session 
Читать далее

Как узнать какие сервера требуют перезагрузку. Sccm Pending Reboot

Задача определить какие сервера в ad требуют перезагрузку Pending Reboot. Прежде чем добавлять их в группу по плановой перезагрузке. Так как при назначении deploy прежде чем будет установлено обновление сервер перезагрузиться вне окна обслуживания .

Через базу  sccm

SELECT [Name]
,[ClientState]
,"Pending Reboot"=
case [ClientState]
when '1' then 'Configuration Manager'
when '2' then 'File Rename'
when '3' then 'Configuration Manager, File Rename'
when '4' then 'Windows Update'
when '5' then 'Configuration Manager, Windows Update'
when '6' then 'File Rename, Windows Update'
when '7' then 'Configuration Manager, File Rename, Windows Update'
when '8' then 'Add or Remove Feature'
when '9' then 
Читать далее

Как удалить агент sccm когда за дублировался guid.

При клонировании vm не был сделан sysprep. Из-за этого четыре машины не отображались в sccm.

https://social.technet.microsoft.com/Forums/ru-RU/5a30459d-c2de-40a2-9346-a265ea0e880e/need-to-fix-my-report-showing-duplicate-guids?forum=configmgrgeneral

Сначала найдем дубли в базе

SELECT GSYS.Domain0, GSYS.Name0, site.SMS_Installed_Sites0, GHSYS.Domain0 AS 'Previous Domain', GHSYS.Name0 AS 'Previous Name',  GSYS.SMSID0  AS SMS_Unique_Identifier0
FROM v_GS_SYSTEM GSYS
JOIN v_HS_SYSTEM GHSYS ON GSYS.ResourceID = GHSYS.ResourceID
JOIN v_RA_System_SMSInstalledSites site ON GSYS.ResourceID=site.ResourceID
WHERE GSYS.Name0!=GHSYS.Name0
UNION
SELECT GSYS.Resource_Domain_OR_Workgr0 as Domain0, GSYS.Name0, site.SMS_Installed_Sites0, GHSYS.Domain0 AS 'Previous Domain', GHSYS.Name0 AS 'Previous Name', GSYS.SMS_Unique_Identifier0
FROM v_R_System GSYS
JOIN v_GS_SYSTEM GHSYS ON GSYS.ResourceID = GHSYS.ResourceID
JOIN v_RA_System_SMSInstalledSites site ON GSYS.ResourceID=site.ResourceID
WHERE GSYS.Name0!=GHSYS.Name0
UNION
SELECT GSYS.Resource_Domain_OR_Workgr0 as Domain0, GSYS.Name0, site.SMS_Installed_Sites0, GHSYS.Domain0 AS 'Previous Domain', GHSYS.Name0 AS 'Previous 
Читать далее

Как найти где в AD на серверах включен smbv1 и smbv2

Задача найти где включен smb старый протокол 1 и 2 на серверах в сети

https://techcommunity.microsoft.com/t5/storage-at-microsoft/configure-smb-signing-with-confidence/ba-p/2418102

https://learn.microsoft.com/en-US/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3?tabs=server

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

# Создание массива для результатов
$results = @()

# Проход по каждому серверу
foreach ($server in $serverList) {
    $serverStatus = Test-Connection -ComputerName $server -Count 1 -Quiet

    if ($serverStatus) {
        $smbStatus = Invoke-Command -ComputerName $server -ScriptBlock {
            Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, EnableSMB2Protocol
        }

        # Добавление результатов в массив
        $results += [PSCustomObject]@{
            ServerName = $server
            IsOnline = $true
            SMBv1Enabled = $smbStatus.EnableSMB1Protocol
            SMBv2Enabled = $smbStatus.EnableSMB2Protocol
        }
    }
    else {
        # Если 
Читать далее

Как обновить сертификат 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) {
            
Читать далее