<# .SYNOPSIS Скрипт активации Branch Cache - Distributed Mode .DESCRIPTION Проверка службы Branch Cache и режима работы. Активация режима распределенного кэша в случае отсутствия настроек (если не настроено - настроить, в обратном случае - оставить как есть). Задание режима запуска и запуск службы при активации. .NOTES - Запускать с правами локального администратора. - Запускать от имени администратора. v1.0 (2018.01.11) Коды возврата: 0 - Режим распределенного кэша. Служба запущена. 19501 - Режим распределенного кэша. Служба не запущена. 19502 - Режим локального кэша. Служба не запущена. 19512 - Режим локального кэша. Служба запущена. 19503 - Режим размещенного кэша. Сервер. Служба не запущена. 19513 - Режим размещенного кэша. Сервер. Служба запущена. 19504 - Режим размещенного кэша. Клиент. Служба не запущена. 19514 - Режим размещенного кэша. Клиент. Служба запущена. 19505 - Branch Cache не настроен. Служба не запущена. 19515 - Branch Cache не настроен. Служба запущена. 19506 - Служба Branch Cache не установлена\не найдена. #> Function CheckBC { $BCService = Get-Service BranchCache -ErrorAction SilentlyContinue IF ($BCService) {$ServiceRunning = 10 IF ($BCService | Where-Object {$_.Status -ne "Running"}) { $ServiceRunning = 0 } $State = "$(19505+$ServiceRunning)" } Else { $State = 19506 } #netsh branchcache set service mode=DISTRIBUTED #netsh branchcache set service mode=LOCAL #netsh branchcache set service DISABLED #netsh branchcache reset #netsh branchcache show status all $BCstatus = netsh branchcache show status IF ($BCstatus -like "*локальное*" -or $BCstatus -like "*local*") { $State = "$(19502+$ServiceRunning)" } IF ($BCstatus -like "*сервер*" -or $BCstatus -like "*server*") { $State = "$(19503+$ServiceRunning)" } IF ($BCstatus -like "*клиент*" -or $BCstatus -like "*client*") { $State = "$(19504+$ServiceRunning)" } IF (($BCstatus -like "*распределенное*" -or $BCstatus -like "*distributed*") -and ($ServiceRunning -eq 0)) { $State = 19501 } IF (($BCstatus -like "*распределенное*" -or $BCstatus -like "*distributed*") -and ($ServiceRunning -eq 10)) { Set-Service PeerDistSvc -StartupType automatic | Out-Null $State = 0 } $State } $Check = CheckBC <# If ($Check -eq 19506) { Install-WindowsFeature BranchCache } #> If (($Check -eq 19505) -or ($Check -eq 19515) -or ($Check -eq 19501))# -or ($Check -eq 19506)) { netsh branchcache set service mode=DISTRIBUTED | Out-Null Set-Service PeerDistSvc -StartupType automatic -Status running | Out-Null } $Check = CheckBC Write-Host $Check