VISTA – NTFS

w systemie vista zostala dodana nowa funkcjonalnosc dla partycji NTFS – 'shrink’, oraz poprawione dzialanie opcji 'extend’. az do w2k3r2 opcja extend byla dostepna, ale spelnione musialy byc warunki:
– nie mogla to byc partycja boot
– nie mogla to byc partycja system
a wiec funkcja srednio przydatna i zadko wykorzystywana. teraz dostepne sa 'shrink’ i 'extend’, ktore dzialaja 'poprostu’ – czyli tak, tak jak sie tego od nich oczeqje … no prawie. ograniczenia sa nastepujace:
– partycje mozna kurczyc maxymalnie o 5o% od pierwotnego rozmiaru [CZEMU?]. czyli jesli pierwotnie miala 1oG, to system nie pozwoli jej zmienijszyc ponizej 5G, nawet w kilq krokach
– zeby rozszezyc partycje, musi byc wolne miejsce, tuz za partycja [partycje nieciagle – tzw. spanned, zostaly na szczescie usuniete].

testowalem co prawda na LHS – ale na zywym, stojacym systemie. nie wymaga restartu. na swoim lapiq przetestuje… jak zrobie full backup. tak na wszelki wypadek.

szkoda ze nie ma jeszcze opcji 'move’ – takie operacje zapewnilyby 85% wszystkich operacji do ktorych dzisiaj trzeba siegac po narzedzia typu partition magic…

implementacja ping i tracert dla bibliotek dll

czemu system sie zawiesza? czemu aplikacja, ktora normalnie dziala, po kilqnastu dniach na serverze nagle przestaje funkcjonowac jak nalezy? czemu dany kompnent przestal odpowiadac? przewaznie wystarcza restart kompa – z jakis wzgledow, ktorys z komponentow zaleznych zostal przekonfigurowany/zastrzymany i w gaszczu powiazan pomiedzy bibliotekami nie jest sie w stanie dojsc czemu i jak. tak powstaje niedeterminizm. i dla tego najprostrza recepta jest restart – a na serwerze czesto nie mozna go wykonac az do weekendu.
a gdyby tak wszystkie biblioteki implementowaly cos aka DLL-ICMP ? tak, zeby mozna bylo wylasc polecenie commandlineowe do pliq uruchomieniowego a ten zaczyna wysylac pingi do bibliotek zaleznych tworzac mape powiazan. dzieki temu moznaby zlokalizowac komponent, ktory nieodpowiada i go zresetowac.
warunek – musialyby to implementowac *wszystkie* biblioteki.

byc moze ktos napisze, ze z podobnych narzedzi sie korzysta… te co widzialem byly 4developers only, a output jaki z siebie wypluwaly byl ciezki do zrozumienia nawet dla tworcy aplikacji. ale i tak swoja droga jestem ciekaw sie buduje mapy powiazan miedzy libami i chetnie sprawdzilbym jak to wyglada w ponoc uporzadkowanej vista…

imiennik

IT-imiona (;
poki co znalazlem dwa sliczne imiona dla dziewczynek IT:
– e-milia
– partycja

znasz jeszcze jakies? (:

ew. moze byc ada – chociaz to raczej nazwa jezyka od imienia a nie odwrotnie… . moze byc tez meskie – erwin.

masz linuxa – nie masz gwarancji

bardzo cieawy news dla osob, ktore instaluja na oryginalnym lapie linuxa – historia o osobie, ktora zadzwonila do serwisu zglosic uszkodzenie mechaniczne, a dostala odpowiedz, ze zgloszenie moze byc przyjete wylacznie, jesli zainstalowany jest oryginalny system [windows ma sie rozumiec].

OT:
o tego rodzaju umowach mozna przeczytac np. NoLogo – lekture bardzo polecam. imho w duzym stopniu tlumaczy ona obecny wizerunek emesow. np. firma chwali sie kilkuset tysiacami zatrudnionych, przy vista ponoc pracowalo kolo 1oo tys. co z tego, skoro ponad 7o% pracownikow to tak zwane 'czasowniki’ – czyli pracownicy okresowi.

ADS_PROPERTY_OPERATION_ENUM – sprostowanie

jakis czas temu pisalem o hurtowym dodawaniu do grupy. niestety po testach okazuje sie, ze troche sie mylilem, wiec sprosotwanie:

w opisie dostepnych parametrow dla rodzaju operacji przy wykonywaniu putEx dla obiektu AD, znalezc mozna 4 parametry:
ADS_PROPERTY_CLEAR = 1,
ADS_PROPERTY_UPDATE = 2
ADS_PROPERTY_APPEND = 3
ADS_PROPERTY_DELETE = 4

krotki opis baj mła:
DELETE jest jedyna opcja na usuniecie parametru obiektu w AD. generalnie putEx jest uzywany dla modyfikacji parmetrow bedacych tablica [array-type], jednak jesli sie chce usunac parametr [a to duza roznica pomiedzy wstawieniem do parametru null, „” oraz jego usunieciem – kazda z 3 operacji to inna operacja], nalezy uzyc putEx z wartoscia 4 – dla dowolnego typu parametru.

CLEAR – tu nie bede komentowal bo nie testowalem. wedle opisu: „Instructs the directory service to remove all the property value(s) from the object” wynikalo by, ze obiekt jest 'resetowany’. co ciekawe – caly obiekt a nie pojedyncza wartosc. to troche dziwne, wyjasnienia nie znam.

UPDATE – wymienia wartosci na nowe. i to jest wlasnie blad, ktory poplenilem we wczesniejszym opisie. jak to dziala, na przykladzie czlonkow grupy:
parametr 'members’ obiektu grupa zawiera tablice ADsPath, gdzie poszczegolne wartsoci to sciezka LDAP uzytkownika/grupy np:

array("LDAP://cn=user1,dc=domain,dc=com","LDAP://cn=user2,dc=domain,dc=com")

jesli zrobie putEx z parametrem UPDATE i wstawie tam inne wartosci:

oGrp.putEx ADS_PROPERTY_UPDATE, "member", array("LDAP://cn=user1,dc=domain,dc=com","LDAP://cn=anotheruser,dc=domain,dc=com")

to nowymi czlonkami beda userzy z tej ostatniej operacji – czyli wypadnie user2. zaleta taka, ze nie wywali bledu z powodu tego, ze user1 byl juz wczesniej czlonkiem.

APPEND – dodaje nowe wartosci. tutaj problem polega na tym, ze jesli zrobi sie append, dla przykladu takiego jak powyzej, skrypt wygeneruje blad, ze taki user juz jest, i nie doda nikogo, nawet jesli w tablicy jest 23 innych userow.

reasumujac, zeby dodac wielu userow mozna:
– dodawac ich jeden po drugim
– najpierw zczytac obecne czlonkowstwo, zsumowac z tymi, ktorych sie chce dodac, i dopiero ta sume pchnac z parametrem UPDATE