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

Fslogix

Как сделать автоматическую проверку и восстановление VHDX‑дисков FSLogix (NTFS) для RDS‑сессий

Назначение

Скрипт PowerShell предназначен для диагностики и автоматического исправления ошибок файловой системы на VHDX‑дисках FSLogix. Он выявляет пользователей, у которых активна RDS‑сессия, но профиль не смонтирован (том с меткой Profile-ИмяПользователя отсутствует), затем находит соответствующий VHDX‑файл в заданных сетевых хранилищах, монтирует его, проверяет с помощью chkdsk /f и при необходимости восстанавливает целостность NTFS.

Основные возможности

  • 🔎 Автоматический поиск проблемных сессий через RD Connection Broker.

  • 📁 Поддержка нескольких хранилищ VHDX (UNC‑пути).

  • 🧪 Безопасное монтирование образов без присвоения буквы (буква назначается временно только для проверки).

  • 🛠 Исправление ошибок NTFS с помощью chkdsk /f (режим можно отключить).

  • 📄 Подробное логирование и CSV‑отчёт о состоянии

Читать далее

Как вывести список пользователей у которых не при монтировался диск fslogix и переименовать FriendlyName

Скрипт ищет пользователей у которых не с монтировался профил fslogix и переиеновать диски User Disk по стандарту. User disc появился из за миграции профилей из UDP windows

# === Настройки ===
$collectionName = "Fxlogixs"
$connectionBroker = "HWRDCB.adminbd.ru"

# === 1. Получаем все сессии из коллекции ===
Write-Host "Получение сессий из коллекции '$collectionName' через брокер '$connectionBroker'..." -ForegroundColor Cyan
try {
    $sessions = Get-RDUserSession -CollectionName $collectionName -ConnectionBroker $connectionBroker -ErrorAction Stop
} catch {
    Write-Error "❌ Ошибка при получении сессий: $($_.Exception.Message)"
    exit 1
}

if (-not $sessions) {
    Write-Host "ℹ️ Нет сессий в коллекции." -ForegroundColor Green
    exit 0
}

# === 2. Фильтруем: 
Читать далее

Как найти битые профили fslogix и найти профили которые не монтировались на сервер

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

# === Настройки ===
$collectionName = "Farm Fxlogixs"
$connectionBroker = "RDCB02.adminbd.ru"
$fslogixRootUnc = "\\HWRDU\DisksfsFSLogix$"
$MaxDisksToCheck = 1000  # Проверяем только первые N проблемных дисков

# === Логирование ===
$LogDir = "$env:TEMP\FSLogixVHDXCheck"
if (-not (Test-Path $LogDir)) { New-Item -Path $LogDir -ItemType Directory -Force | Out-Null }
$LogPath = "$LogDir\FSLogix_VHDX_Check_$(Get-Date -Format 'yyyy-MM-dd_HH-mm-ss').log"

function Write-Log {
    param([string]$Message, [string]$Level = "INFO")
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $logEntry = "[$timestamp] [$Level] $Message"
    Write-Host $logEntry
    Add-Content -Path $LogPath -Value $logEntry
}

Write-Log "=== НАЧАЛО ПРОВЕРКИ VHDX ДЛЯ ПОЛЬЗОВАТЕЛЕЙ 
Читать далее
Яндекс.Метрика