Inspiracje
mousk -eq mózg
eN.
scenariusz: upgrade VMM 2o12 -> 2o12 R2. nie ma inplace upgrade, więc stawiany obok. agentów również nie chce zainstalować z automatu na hostach bo 'version is not supported’. trzeba więc w pierwszym kroq odinstalować wszystkie agenty na wszystkich hostach. jeśli tylko jest dobra [czyli skrypto-przyjazna] notacja nazewnicza, to można to zrobić szybko, sprawnie i bez bólu. taki przykład – dla dziewięciu hostów o nazwach hvhosto1-o9. wymaganie: skonfigurowane winRM:
1..9|%{invoke-command -ComputerName hvhost0$_ -scriptBlock {gwmi -Class win32_product|? name -like '*virtual machine manager*'|%{$_.uninstall()}}}
eN.
Czasami zapominam, że gdzieś tam w szklanych biurowcach siedzi armia ludzi, która analizuje wszystko i wszystkich, potem wychodzą takie schematy.
Warto zerknąć.
Pełen artykuł tutaj:
http://www.gartner.com/newsroom/id/2819918
scenariusz: upgrade wersji Dell OpenManage. po instalacji wszystkich komponentów, aplikacja IIS wywala się. prawdopodobnie jest niekompatybilność wersji – 32/64bit. jak sprawdzić czy biblioteka jest 32 czy 64bit? w zasadzie odpowiedź można znaleźć w eventlogu:
Could not load all ISAPI filters for site 'OPENMANAGE ESSENTIALS’. Therefore site startup aborted.
ISAPI Filter 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.
niemniej pytanie pozostaje – jak upewnić się jaka jest wersja biblioteki? pomocnym narzędziem będzie mały tool z VisualStudio – dumpbin
dumpbin /headers filename.dll PE signature found File Type: DLL FILE HEADER VALUES 14C machine (x86) <<== I tu jest to cenne info z nagłówka pliku 1 number of sections 45499E0A time date stamp Thu Nov 02 03:28:10 2006 0 file pointer to symbol table 0 number of symbols E0 size of optional header 2102 characteristics Executable 32 bit word machine <<== I tu DLL
teraz na 1oo% rozwiązaniem będzie: w IIS -> Application Pools -> [RMB] Advanced Settings -> Enable 32-Bit Application
eN.
trochę na temat statsów na Ex2kd. że PowerShell wymiata to już pisałem wiele razy, ale nie omieszkam jeszcze wiele napisać. „PowerShell wymiata„. wszystko co kiedyś było bardzo trudne, w porywach do niemożliwe i wymagało jakiejś tajemnej wiedzy – teraz leży okrakiem – nic tylko brać (; w przypadq Exchange trochę tajemnej wiedzy jest potrzebne żeby dobrać się do danych prawidłowo – w innym przypadq można ominąć ważne części. a w końcu w statystykach chodzi o dokładność.
najpierw kilka najprostszych poleceń do statystyk:
get-mailboxStatistics -database <dbname> #check stats for entire DB get-mailboxStatistics "<mailbox name>" #check stats for mbx
to jednak polecenie bardzo wredne i ma swoje humory. i to poważne. na początek fakt, że w środowisq wielodomenowym nie są przeszukiwane wszystkie domeny. wychodzą z tego niewidzialne skrzynki. sprawdzić to można:
get-ADServerSettings
chodzi konkretnie o parametr 'ViewEntireForest’ który baj difolt jest ustawiony na $false. dość dziwne jest dodatkowo to, że nawet jak się go przestawi na $true, to potrafi wrócić, z niewiadomych względów, do ustawienia standardowego /: więc jeśli skrzynki znaleźć nie można, warto go sprawdzić.
set-ADServerSettings -ViewEntireForest $true
kolejną ciekawostką jest to, że to polecenie zwraca statystyki *wszystkich* skrzynek. że to przecież dobrze? no nie koniecznie – jeśli wykonuje się jakieś ruchy, przenosi się skrzynki między bazami, to taka skrzyneczka jest de facto kopiowana, a jej cień zostaje w bazie danych aż do czasu osiągnięcia czasu retencji. trzeba zatem takie skrzynki odfiltrować, a odpowiada za to parametr 'disconnectDate’ – jeśli wartość jest $null, to znaczy, że skrzynka nie jest odłączona, to znaczy że jest dobra. wiedząc to, można sprawdzić zarówno ile zajmują skrzynki ale również ile miejsca się marnuje – odłączone mailboxy można wywalić przed czasem retencji. dodatkowo, ponieważ interesują nas wielkości, a te nie są standardowo wyświetlane, warto użyć 'select’:
Get-MailboxStatistics -Database "<mailbox database>" |where {$_.DisconnectDate -eq $null} |select displayname,TotalItemSize,databasename,lastlogontime|sort -property TotalItemSize -Descending
jeśli interesuje nas suma, to trzeba to sobie pododawać za pomocą 'measure’ ale to za chwilę. najpierw zagadka – czemu to polecenie nie zadziała zgodnie z oczekiwaniami? otóż sortujemy po wielkości, a te zwracane są w różnych jednostkach – MB, GB, PTB [to skrzynka CEO (; ], więc 3MB będą większe od 1GB. trzeba zatem wykonać trochę matematyki:
Get-MailboxStatistics -Database "<mailbox database>" |where {$_.DisconnectDate -eq $null} |select displayname,@{N="itemSize";E={[math]::round($_.totalitemsize.value.tobytes() /1MB,2)}},databasename,lastlogontime|sort -property ItemSize -Descending
i to niestety nie koniec. jednej rzeczy nie udało mi się odkryć. otóż po usunięciu skrzynki użytkownika i założeniu mu nowej, disconnectDate pozostaje $null /: a to oznacza, że cały czas pojawia się w statsach. za to mniej grymaśne jest polecenie get-mailbox a więc jeśli nie interesuje nas zużyte miejsce przez nieistniejące skrzynki, najlepiej korzystać od tej strony:
get-mailbox -database <mailbox database>|get-mailboxStatistics|select displayname,@{N="itemSize";E={[math]::round($_.totalitemsize.value.tobytes() /1MB,2)}},databasename,lastlogontime|sort -property ItemSize -Descending
jeśli nie interesują nas poszczególne skrzynki a bardziej wielkości całych baz:
Get-MailboxDatabase -Status|select name,@{N="DBsize";E={"$([math]::round($_.DatabaseSize.Tobytes() /1Gb, 2)) GB"}},databasesize|sort -Property databasesize -Descending|select name,dbsize
a co do mierzenia całej wielkości, to już odeślę do zewnętrznego wpisu, gdzie jest bardzo ładna i prosta funkcja, która to realizuje.
eN.
kopiowanie plików na VM
nie qmam polityki eMeSa, który zdając sobie sprawę z wagi wirtualizacji, ubił środowiska wirtualizacyjne na stacjach roboczych. Hv na lapq ma wiele wad, ale jedna z nich została usunięta. w końcu można kopiować pliki bezpośrednio na maszynę… szkoda, że nie w drugą stronę, ale od czegoś trzeba zacząć q:
pełny opis zamieściłem tutaj.
eN.