Skip to Content

IT nieuczesane.
archive

> Daily Archives: 10 listopada 2010

powershell – wywołanie funkcji

piszę za karę – wczoraj rzucałem klątwy więc dziś na tablicę “zapamiętam jak się wywołuje funkcje w PS”… ograniczę się jednego razu.

trywialna funkcja:


spodziewałem się na ekranie “3” a tymczasem dostałem 1<CRLF>2. $a okazało się być zwracane jako obiekt jakiś dziwny… a to dla tego że funkcje wywołuje się:

fun 1 2

jakoś tak nieintuicyjnie. de facto jest to to samo co fun (2) (3) więc podając fun(1,2) jest to wywołanie z pierwszym parametrem “1,2” i drugim null.

i pomimo,że podobne funkcje widziałem na wielu stronach nie mogło to do mnie dotrzeć. to jak w tym doświadczeniu, w którym trzeba policzyć ile było podań piłki, ew. w historii o Inkach, którzy nie widzieli zbliżających się łodzi…

eN.

migawki, VSS, shadow copy, previous versions i inne takie

czyli tak na prawdę wszystko to samo z trochę innego punktu widzenia. w razie gdyby ktoś nie przeglądał bloga GT (wątpliwe ale…) to ten art ma status ‘must see’.

a ponieważ ja mam tendencje do wyjaśniania rzeczy jasnych dodam od siebie trochę podstaw/podsumowania:

  • migawka aka snapshot: pojedyncza kopia danych dysq zrobiona w określonym czasie.
  • shadow: nie wiedzieć czemu programiści eMeSa sami tworzą taki bałagan nazewniczy. w samym vssadminie ‘snapshot’ tworzy się poleceniem ‘create shadow’. tak, żeby było fajnie i ciekawie.
  • VSS aka Shadow Copy: Volume Shadow copy Service.
  • Previous Versions: nazwa używana w interfejscie, lista dostępnych snapshotów [polska nazwa mnie dziwnie boli (; może kiedyś się przyzwyczaję.. ] wykonanych za pomocą mechanizmu VSS

to tak dla jasności, żeby nie pogubić się w skrótach.

dodatkowo jeszcze ciekawostka: na kontrolerach domeny jest jeszcze jedno narzędzie, które pozwala utworzyć snapshot: ntdsutil. czym to się różni od zwykłego? snapshot ntdsutil jest typu “ApplicationRollback” co wiąże się z atrybutami “Persistent, No auto release, Differential, Auto recovered” natomiast zwykły snapshot, wykonany za pomocą komponentu Previous Versions ma atrybuty: “Persistent, Client-Accessible, No auto release, No writers, Differential”. Atrybut client-accessible powoduje, że kiedy z interfejsu się sprawdza dostępne migawki – widać ich listę. poza tym różnic specjalnych nie ma – działa mklink, w snapshocie są wszystkie pliki całego dysq [a nie, jak by można się spodziewać tylko pliki bazy NTDS], itd.

przy okazji jeszcze jedna ciekawostka: pomimo, że powershell ma być zastępstwem dla cmd, to komeny mklink nie implementuje. obejściem może być albo użycie [LOL] :

albo użycie fsutil create hardlink.

zrobienie snapshotu dostępnego przez sieć bez programowania nie udało mi się znaleźć. miło byłoby móc zrobić snapshot i zdalnie dostawać się do kopii plików..

eN.