Термин «Write-PSFMessage» не распознается как имя командлета, функции, файла сценария или работоспособной программы. - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь получить имя виртуальной машины для ведения журнала.

Set-PSFLoggingProvider -Name logfile -Enabled $true -FilePath 'C:\PDS\++Scripts++\++logs++\replication_logs.log'

$Hosts = "server01","server02"

ForEach ($Server in $Hosts){
    Write-Host 'Primary Server: '$Server
    $VMName             
    Invoke-Command -ComputerName $Server {
    $FailedReplicas = Get-VMReplication | Where{$_.Health -EQ 'Normal'}
        ForEach ($VM in $FailedReplicas){
            $VMName = $VM.Name
            Write-Host 'Virtual Machine: '$VMName 
            try{
                Resume-VMReplication $VMName -Resynchronize
                Write-Host 'Successfully resynched ' $VMName
                Write-PSFMessage -Level Important -Message 'Successfully resynched ' $VMName  -Tag 'Success'
            }
            catch{
                Write-PSFMessage -Level Warning -Message 'Could not resync ' $VMName -Tag 'Failure' -ErrorRecord $_
            }
        }   
    }   
}
pause

Когда я запускаю приведенный выше код, я получаю эту ошибку. Термин «Write-PSFMessage» не распознается как имяКомандлет, функция, файл сценария или работающая программа. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.

1 Ответ

0 голосов
/ 10 октября 2019
$Hosts = "server01","server02"

ForEach ($Server in $Hosts){
    Write-Host 'Primary Server: '$Server
    $VMName             
    try {
        Invoke-Command -ComputerName $Server -ScriptBlock {
            Import-module PSFramework
            $logPath = "\\x.x.x.123\C$\PDS\++Scripts++\++logs++\replication_logs.log"
            Set-PSFLoggingProvider -Name logfile -Enabled $true -FilePath $logPath
            $FailedReplicas = Get-VMReplication | Where{$_.Health -EQ 'Critical'}
            ForEach ($VM in $FailedReplicas){
                $VMName = $VM.Name
                Write-Host 'Virtual Machine: '$VMName 
                Resume-VMReplication $VMName -Resynchronize 
                Write-Host 'Successfully resynched ' $VMName
                Write-PSFMessage -Level Important -Message 'Successfully resynched'  -Target $VMName  -Tag 'Success'                
            } 
        }

    } catch {
        Write-PSFMessage -Level Warning -Message 'Could not resync ' -Tag 'Failure' -ErrorRecord $_
    }
}
pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...