$computername = Get-Content H:\computers\Computers.txt;
$password = type H:\Powershell\MyPassword.txt | ConvertTo-SecureString
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist “domain\user”,$password
$filename = "{0:yyyy-MM-dd} start" -f (Get-Date)
$tid = Get-Date -f HH:mm:ss
function StartIfStopped([string]$ServiceName) {
$Service = Get-WmiObject Win32_Service -computername $computername -cred $cred -Filter "name='$ServiceName'"
if (!$Service) {
# Service is not installed
Write-Host "$ServiceName is not installed on $computername."
} else {
# Service is installed
if ($Service.State -eq "Stopped") {
if ($Service.StartMode -eq "Disabled") {
Write-Host "Cannot start service $ServiceName as it is disabled."
} else {
#Write-Host "Starting service $ServiceName ..."
Write-Output "$tid Starting $ServiceName ." >> H:\logfiler\$filename.txt
#virker kun lokalt på servere
#Start-Service $ServiceName
#virker på remote servere også i andre domainer
(Get-WmiObject Win32_Service -filter "name='$ServiceName'" -computername $computername -cred $cred ).StartService()
}
} else {
#Write-Host "$ServiceName is already running."
Write-Output "$tid already running $ServiceName." >> H:\logfiler\$filename.txt
}
}
}
StartIfStopped 'BTSSvc$BizTalkServerApplication'
StartIfStopped 'BTSSvc$TASMSMQHost'
StartIfStopped 'BTSSvc$TASProcessingHost'
StartIfStopped 'BTSSvc$TASSendHost'
StartIfStopped 'BTSSvc$TASTrackingHost'
StartIfStopped 'BRNTService'
StartIfStopped 'TimerService'
StartIfStopped 'BouncedMailTracker'
StartIfStopped 'CMToolService'
StartIfStopped 'CalculationExcelService'
StartIfStopped 'ControlNTService'
StartIfStopped 'EnvelopeService'
StartIfStopped 'PrinterService'
Обновление на сценарии, я получил его работа, но теперь мне нужен он, чтобы войти в систему несколько серверов и запустить сервисы.
Вам действительно нужен диск на 190 ГБ? Если вы запускаете 2008 R2 в гостевой системе, сожмите свой раздел внутри гостевой системы, а затем сожмите его. Это позволит достичь наилучших результатов.
Да, всегда большая проблема в Hyper-V. Я могу только сказать вам, что я делаю, хотя могу только думать (надеяться), что должно быть лучшее решение.
1) Захватите полный размер диска
2) Создайте новый пустой VHD нужного мне размера диск, который должен быть.
3) На хосте используйте Symantec ghost для копирования с диска на диск от большого к новому. Это только копирует данные.
4) Удалите большой VHD
Надеюсь, что это поможет. Я знаю, что не идеально.
Удалите все снимки VSS
на вашем VHD
, если они есть. Затем попробуйте еще раз "компактный" шаг.
Пробовали ли вы запустить precompact.exe или аналогичный инструмент (проще всего, смонтировав файл ISO) сначала на гостевой системе, чтобы обнулить освобожденное пространство? Затем запустите процесс сжатия VHD после этого.
См. Сжатие / сжатие расширяемого / динамического VHD для полного восстановления пространства