Skip to Content

IT nieuczesane.
category

Category: tips’n’tricks

Diabeł leży w szczegółach

konsola Hyper-v. sprawa prosta – używam jej od… 2k7 czy 2k8, kiedy wyszła beta [a nawet wcześniej, bo miałem dostęp do wewnętrznych wersji]. maszyny wirtualne zmieniły moje życie zawodowe (; sądziłem, że nie ma przede mną tajemnic.

był jeden drobny szczegół, który mnie strasznie irytował – po usunięciu maszyn, te jakoś niedetrministycznie znikały, albo nie. restartowałem usługę – nadal czasem zostawały wiszące w konsoli. restartowałem serwer – i dopiero udawało mi się ich pozbyć. przekonany to że to ewidentny bug… aż w końcu przyszło mi do głowy przesunąć pasek widoq, w którym na końcu znajduje się kolumna ‘status’. i tam po usunięciu maszyn pięknie pokazuje się ‘destroying (x%)’ … po dojściu do 1oo% maszyna znika tak, jak powinna.

powinienem swoją firmę nazwać ‘w gorącej wodzie company’

eN.

uptime

uptime systemu można sprawdzić narzędziem systemowym ‘net’:

net statistics server

eN.

XBoot

Bardzo przydatne narzędzie, którym postanowiłem się z Wami podzielić :)

Wybieramy obrazy ISO (np. hiren’s, memtest86+, antyvirusy, windows i ubuntu), generujemy nowe iso albo od razu bootwalnego pendrive-a z multibootem.

https://sites.google.com/site/shamurxboot/

Import maszyn wirtualnych z dyskami dyferencyjnymi

Scenariusz:

trzeba przygotować laba gdzie jest kilka maszyn. dla oszczędności przygotowane zostały dyski macierzyste dla systemów i na nich utworzone kilka maszyn. Export/Import jest trywialny – w GUI są proste wizardy pozwalające na taką operację.

[export –> na wyłączonej maszynie RMB –> export, import dostępny w ‘Action pane’ w dowolnym momencie]

Problem:

dyski dyferencyjne mają na celu oszczędzić trochę miejsca. sporo miejsca. podczas Exportu, aby zuniwersalizować proces, dysk macierzysty jest kopiowany do katalogu maszyny. w efekcie jeśli exportuje się kilka maszyn opartych na tym samym dysq macierzystym, jego kopia jest w każdej z wirtualek.

w zasadzie nie byłoby większego problemu [może poza miejscem], gdyby choćby import był trochę sprytniejszy i to rozpoznawał. efekt jest jednak taki, że podczas importu następuje próba kopiowania dysq. ten zawsze kopiowany jest do ‘root directory’ katalogu zdefiniowanego dla maszyn wirtualnych. następuje błąd ‘file already exists’ i z importu pupa.

chciałoby się to jakoś zautomatyzować.

Rozwiązanie:

informacja o wyexportowanej maszynie znajduje się w pliq <kat gdzie był robiony export><katalog o nazwie maszyny>Virtual Machines<bardzo długi GUID>.EXP

ten plik EXP można wyedytować za pomocą dowolnego edytora textowego. należy znaleźć sekcję

<VALUE.OBJECT><INSTANCE CLASSNAME="Msvm_VirtualHardDiskInfo">
[…]nazwa_pliku.vhd[…]
<
/INSTANCE></VALUE.OBJECT>

dotyczącą maszyny macierzystej – najlepiej przeszukać plik po jej nazwie. należy usunąć całą sekcję. można też usunąć sam plik, znajdujący się w Virtual Hard Disks. oczywiście należy pamiętać aby zostawić plik macierzysty w chociaż jednej maszynie!! (; a import zacząć właśnie od niej.

I jeszcze o pamięci

ponieważ nie wiadomo jakie będą parametry hosta docelowego, może mu brakować pamięci RAM dla maszyn. warto wykorzystać ‘Dynamic Memory’ dostępne od wersji R2, ustawiając minimalną i sugerowaną ilość RAM, oraz wybierając priorytet dla maszyny. dzięki temu przygotowany lab będzie możliwie uniwersalny i zapewni optymalność.

**UPDATE

ciekawe – podczas exportu maszyny z pamięcią dynamiczną pojawia się ostrzeżenie, że maszyna musi być wyexportowana z wyłączoną tą funkcją. ale wszystko działa i zaimportowała się i ustawienia zostały… co co c’mon?

eN.

język w prezentacji PowerPoint

to po prostu niewiarygodne, że do dnia dzisiejszego nie da się zmienić języka prezentacji. zostało wprowadzone tyle zmian, zarówno w w7 jak w office 2kd, aby można było pracować w kilq językach i łatwo się przełączać, a tak podstawowej rzeczy nie ma. pałerpojnt wydaje się złośliwie robić wszystko, żeby utrudnić taką pracę:

  • nie da się zaznaczyć wszystkich slajdów i wybrać języka
  • nie da się ustalić języka dla prezentacji! zmieniając w opcjach ‘default language’ przestawia się … dla całego office!
  • nie ma możliwości zdefiniowania języka z poziomu master slide – szablon niby dzięki temu staje się językowo-niezależny ale de facto nie ma możliwości zdefiniowania jak ma być ustawione sprawdzanie pisowni.

w efekcie jak robi się prezentację w innym języq, każdy obsrany slajd trzeba ręcznie przerabiać. wygooglać można jakieś makra i skrypty, które to slajd po slajdzie przelatują i konwertują ale do cholery! w ogóle jak?! … brak słów.

***UPDATE

dwa proste sposoby na to, żeby PP korzystał z odpowiedniego słownika – before i after.

BEFORE

w trakcie pisania wystarczy zmienić układ klawiatury na przypisany do danego języka – np. EN-US i pomimo ‘default’ ustawionego na polski, automatycznie zaznacza język na EN.

AFTER

problemem jest też ustawienie języka w gotowej prezentacji. prosty trick na zmianę języka w całości dokumentu – wystarczy w widoq slajdów zmienić typ na ‘outline’ i w tym można zaznaczyć jednorazowo całą zawartość. a dalej to już standard: review->language->set proofing language.

eN.

w-files: firewall bez firewalla

przypadek z tych niewyjaśnionych – ale przynajmniej z rozwiązaniem (:

otóż już nie pierwszy raz przytrafia mi się takie zjawisko nadprzyrodzone, iż Windows [tutaj jako maszyna wirtualna – poprzednim razem nie pamiętam] zaczyna odrzucać wszelkie pakiety przychodzące. no może nie wszelkie – bo te zainicjowane z systemu spokojnie docierają, co od razu wskazuje na jedyne realne rozwiązania – statefull firewall. problem polega na tym, że firewall jest wyłączony

UWAGA! dla niewtajemniczonych, ponieważ widziałem już takie próby rozwiązania – wyłączenie usługi Windows Firewall powoduje de facto włączenie pełnego filtrowania ruchu przychodzącego! a więc najszybszym sposobem zabezpieczenia komputera jest zabicie procesu systemowego MpsSvc.

restarty, instalacje updateów, przegrzebywanie logu systemowego/aplikacyjnego, zmiana IP – generalnie nic nie działa. testy polis IPSec – brak. o co więc chodzi?

pytanie pozostanie bez odpowiedzi. system działa w zasadzie poprawnie, komuniqje się z DC, z innymi serwerami, Internetem i w ogóle działa świetnie… tylko nie wpuszcza dokładnie żadnego ruchu.

rozwiązanie: usunąć interfejs sieciowy, wyszukać urządzenia żeby się ponownie zainstalował, skonfigurować.

eN.

jak zmienić język voice search

banalne… a zarazem nietrywialne (; w sumie zgodne z działaniem całego androida ale chwilę mi zajęło zanim się domyśliłem:

Q: po którejś tam kolejnej instalacji ROMa google voice nagle zaczął włączać się wyłącznie po angielsq. system jest PL, żadnych innych ustawień regionalnych ani opcji w panelu aplikacji nie ma… jak toto zmienić?

A: trzeba zacząć coś wyszukiwać – pojawia się ekran ‘speak now’ – nacisnąć ‘guzik opcji’ – zazwyczaj są 3 podstawowe dla urządzeń z droidem, i zazwyczaj to ten po lewej q: pojawi się menu ‘opcje’ gdzie można ustawić język. czyli w pełni kontextowo – brak ustawień globalnych.

przy okazji, po wielu testach, trafiłem w końcu na świetnego ROMa dla swojej xperii X8 gingerDX – nie dość, że 2.3, nie dość, że stabilny, to jeszcze super szybki – jak popierdółkę, jaką jest X8 to na prawdę super zoptymalizowany. na razie korzystam około tygodnia, więc jeszcze dużo do testów, ale póki co – najlepszy jaki testowałem. nawet hacdroid nie jest tak dobrze dopracowany.

i jeszcze taka ciekawostka: jakiś czas temu zacząłem mieć problem z ładowaniem – przy podłączeniu do ładowarki USB nie chciał ładować – jeśli jakimś cudem zaczął, to wystarczyło ruszyć urządzeniem i przestawał. przy podłączeniu do kompa zazwyczaj ładował dobrze chociaż i w tym przypadq czasem to nie działało. spodziewałbym się, że tego rodzaju problem to usterka natury fizycznej. tym bardziej, że pojawiła się ‘nagle’ i miała tendencję narastającą – najpierw ‘czasem niedziałał’, potem ‘czasem działał’ a w końcu ‘praktycznie nie działał’. tymczasem po reinstalacji ROMa zaczęło działać… no powiedzmy z 9o% prawdopodobieństwem q:

czy ktoś jest w stanie wyjaśnić takie zachowanie?

eN.

uruchomienie systemu z backupu

dawno, dawno temu, w odległej galaktyce, bawiłem się nowymi funkcjami w7 – mianowicie bootowaniem z vhd.

ostatnio na małym spotkaniu filmowym GT stwierdził, iż niemożliwie jest zbootwanie systemu z vhd utworzonego za pomocą “Windows Backup and Restore”, ponieważ nie zawiera on HALa. odgrzebałem stary wpis, przygotowałem w wolnych chwilach pliczek vhd z ostatnio robionego backupu i wrzuciłem go na dysk. większość artów opisuje jak dodać vhd do istniejącego bootloadera natomiast tu scenariusz jest trochę inny – mam pusty dysk i na nim tylko vhd. ponieważ bcdedit nie jest łatwy do ogarnięcia najlpiej skorzystać ze ściągi. kluczowym narzędziem w takim przypadq jest ‘bcdboot’, który tworzy nowy bcd. ogólna lista kroków jest taka:

  • przygotuj VHD w postaci fixed. jeśli trzeba to go zmniejsz, żeby zmieścił się na Twoim dysq
  • podłącz dysk USB i nagraj na niego przygotowany plik
  • nie testowałem bootwania z USB… to byłoby ciekawe doświadczenie ale odpuściłem sobie. jak ktoś sprawdzi – koniecznie dacie znać (: po prostu wymieniłem dyski w kompie – systemowy na ten z plikiem vhd
  • uruchom system z płyty instalacyjnej albo inne winPE
  • wykonaj kroki opisane na technecie

dygresyjna ciekawostka – jeśli używa się powershell to wykonywanie instrukcji kończy się błędem:

Invalid command line switch: /encodedCommand
Run "bcdedit /?" for command line assistance.
The parameter is incorrect.

problem polega na interpretacji nawiasów klamrowych ‘{}’. trzeba je eskejpować akcentem słabym [grave accent “`”] albo uruchomić sobie cmd [FUJ!].

i jeszcze w ramach dalszej dygresji inne pomocne narzędzie do zabawy z BCD: bootrec

powracając do tematu – po wykonaniu tych kilq prostych instrukcji system ładnie wstaje bez problemów. imho kluczowym elementem rozwiązującym problem HALa jest ostatnia linijka konfiguracji:

bcdedit –set {GUID} detecthal on

podwójnie potwierdzone empirycznie (:

na koniec kolejny wątek poboczny – początkowo próbowałem stworzyć wpisy BCD na żywym systemie. nie jest to proste – wszystkie polecania [np. bcdboot] automatycznie korzystają z system store. sam bcdedit ma parametr ‘-store’ ale ręczna rzeźba to rzeźba w miękkim materiale. raz głupkowato przepisując użyłem parametru ‘import’ … potem przeczytałem jak działa (; wyrezało mi BCD na dysq systemowym. drugi błąd – raz zapomniałem wpisać ‘-store …’ i znów nadpisałem sobie wpisy. warto zrobić przed taką zabawą ‘-export’ ale bez strachu – płyta instalacyjna naprawia takie rzeczy niemal automatycznie (:

eN.

DFS–narzędzia

takie repozytorium narzędzi i linków dot. DFS jakie mi się zebrały podczas ostatnich 3 tygodni.

Linki

Narzędzia

  • dfscmd [wymaga instalacji DFS Namespace Role dla w2k8+] – do tworzenia katalogów i targetów w Namespace
  • dfsutil [j/w] – ogólnie dla tych, co nie lubią GUI – to co w snap-in’ie DFS
  • dfsradmin – narzędzie do tworzenia grup replikacyjnych i testów dla  DFSR
  • dfsrdiag – diagnostyka replikacji DFSR. ciekawa opcja w w2k8 R2 – replicationstate. ciekawe, ale nie ma oficjalnej doqmentacji żadnej poza ‘/?’
  • dfsrmig – do pełnej przesiadki na DFS czyli migracji SYSVOL
  • bardziej dla developerów – WMI DFS Provider
  • commandlety dla powershella do podstawowych operacji – czyli wykorzystanie WMI DFS Providera w praktyce

eN.

hurtowa zmiana nazw grup

jak zmienić hurtem nazwy grup? aby to zrobić trzeba zastosować drobny trik.

było 1ooo razy i każdy powinien wiedzieć… ale odświeżyć sobie widomości raz na jakiś czas jest dobrze. trik polega na tym, że nie da się stricte zmienić nazwy grupy – można natomiast przenieść obiekt i podać nową nazwę. i tak jeśli wyświetli się ‘dsmod group /?’ to operacji zmiany nazwy nie ma. natomiast przy ‘dsmove /?’ można znaleźć taki przykład:


The user object for the user Jane Doe can be renamed to Jane Jones
with the following command:

    dsmove „cn=Jane Doe,ou=sales,dc=microsoft,dc=com” -newname „Jane Jones”

teraz wystarczy dodać prostą logikę i całość gotowa:


eN.