są takie, jak to ktoś kiedyś pięknie przetłumaczył, dziwnostki. jak się na taką trafi to jak los w antylotto. właśnie straciłem 3h na debugowaniu takiego wynalazq z programu „niedowiary”. napisałem sobie skrypt, który sprawdza wszystkie hosty na SCVMM a potem odpytuje je o status replikacji i wysyła go mailem. działa ślicznie – jak odpala się z konsoli.
…wrzucam jako zadanie task scheduler… skrypt niby się odpala, ale wyraźnie coś nie do końca, bo output jest niepełny. zajmuje mi chwilę, żeby zawęzić niedziałanie do komendy get-vmreplication – najwyraźniej się wywala /: testowałem wszystko – sprawdzałem kontekst wywołania, poprawność skryptu, nawet szukałem pod względem tego, czy może get-vmreplication z jakiś powodu nie działa jako zadanie kalendarza. w końcu postanowiłem przejść do podstaw – wycinając cały skrypt i zostawiając tylko to jedno polecenie, w różnym kodowaniu – ANSI/UTF8. dupa. nadal zmienna jest pusta
$ReplicatedVMs = Get-VMReplication -computername hostname get-variable ReplicatedVMs|out-file C:\ReplicationReporting\test.out
w końcu założyłem nowy task i… działa! no więc odtwarzam pełną definicję zadania… znów nie działa @_@ o co qrva c’mon?!
teraz już szybkie testy i oto przed państwem dziwny, przedziwny, niewytłumaczalny wynik:
jeśli w trigerze taska ustawiona jest opcja „Stop task if it runs longer then” – get-vmreplication nic nie zwraca
sprawdzałem dla różnych wartości, i nie ważne, że sam task jest odpalany ręcznie /: cuda na kiju. nie testowałem na innych serverach – u mnie to jest w2k12 standard z SCVMM.