Przenieś/Kopiuj do folderu…

Opcja bardzo przydatna i niedostępna domyślnie w windowsach.

przen

Ku pamięci zapisuję, może ktoś jeszcze skorzysta :)

W drzewie HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers

Dla „kopiowania” dodajemy klucz o nazwie „kopiuj do” i wartości domyślnej

{C2FBB630-2971-11D1-A18C-00C04FD75D13}

Dla „przenoszenia dodajemy klucz o nazwie „przenies do” i wartości domyślnej

{C2FBB631-2971-11D1-A18C-00C04FD75D13}

Wartości przepisujemy/kopiujemy razem z nawiasami klamrowymi jako jeden ciąg znaków!

Załączam gotowe pliki .reg dla leniwych lub nietechnicznych -> copyto_moveto

Po rozpakowaniu wystarczy je uruchomić i zatwierdzić.

 

 

 

wyszukiwanie ciągów znaków

kilka słów o jednej z najczęściej wykonywanej czynności – wyszukiwanie ciągów znaków. przydatne w każdym aspekcie – debugowanie wyników, przeglądanie logów lub po prostu zawężanie outputu. w Linuxie jest stary, dobry grep. a co jest w PS?

w pierwszej kolejności jest Select-String. narzędzie potężne – i jak to często w przypadq PS, zdradliwe. największą zdradą jest fakt, że sls [automatyczny alias od PS3.o] nie jest zwykłym grep’em textowym – jest narzędziem obiektowym. praktycznie wszystko w PS jest obiektem, więc również listingi nimi są.

zależnie od wersji PS – 1.o, …4.o – dostaniemy inne wyniki. w wersji 3.o i mniejszej, przy standardowej 'tabelce’, dostaniemy wyłącznie wynik pojedynczej kolumny:

PS C:\> Get-Process | Select-String power

System.Diagnostics.Process (powershell)

w PS4.o wyniki najpierw są parsowane do stringa, więc wynik jest bardziej tym, czego można się spodziewać (ALLELUJA!):

PS C:\> Get-Process|sls power
512      25    72944      82868   611     4,05   3528 powershell

jak zatem radzić sobie z Select-String w PS3.o-? IMHO najprostszym sposobem jest wykorzystanie 'starego, dobrego’ findstr. dość drastyczne różnice w wersjach PS to jedna z największych bolączek – wszystko idzie w dobrym kierunq, ale niespójność konsoli i narzędzi na poszczególnych serwerach jest WIELKIM PROBLEMEM. kiedyś o tym już pisałem obszerniej. dodatkowo, na dzień dzisiejszy, wersja 4.o [dostępna w win8.1/12] jest dostępna wyłącznie 'preview’.

a jak ktoś się uprze, żeby jednak koszernie używać Select-String w PS3.o- oto jak to powinno wyglądać:

PS C:\> (Get-Process | Out-String ) -split "`n" | Select-String power
645      30   140712     157660   647    11.69   7728 powershell

masakra, co? nie dość, że trzeba najpierw skonwertować wynik na string, to jeszcze trzeba powstawiać line-feedy. jest jednak jedna cecha Select-String, która powoduje, że czasem warto się przemęczyć – parametr 'context’. głupi findstr Ci tego nie da (; context powoduje wyświetlenie X linii przed i po wystąpieniu danego ciągu. jest to niezwykle przydatne np. przy filtrowaniu [grepowaniu (; ] netstat. odpowiedź na pytanie 'jaka aplikacja bloqje port 53500?’:

PS C:\> netstat -anb |sls 53500 -Context 1
[lync.exe]
>   TCP    192.168.7.77:53500     157.55.236.69:443      ESTABLISHED
[Explorer.EXE]

przy prostym findstr dostaniemy wyłącznie pojedynczą linię – co nie odpowie na pytanie…

dość fajnym dodatkiem jest narzędzie outgridview, które przy przeglądaniu wyników może również wiele dobrego wnieść [dostępne po zainstalowaniu PS ISE]. daje możliwość graficznego przeglądania wyników i dynamicznego filtrowania:

PS C:|>Get-Process | Out-GridView

eN.

 

inplace upgrage DPM 2010 -> 2012 SP1

przy próbie podniesienia wersji DPM 2o1o do 2o12 SP1 dostaję informację, iż nie jest wspierana i należy postawić DPM2o12 SP1 obok. taką migrację da się jednak zrobić, z krokiem pośrednim, którym jest DPM 2o12 bez SP1:

DPM2o1o -> DPM2o12 -> DPM2o12 SP1

czemu tak? ze względu na ograniczenia w ilości sprzętu, żeby nie przenosić potem konfiguracji i zachować całą historię backupów.

in-place upgrade nie jest specjalnie skomplikowany ale interfejs jest na tyle niejasny, że można się obawiać, co się tak na prawdę robi i jak to się zakończy. że się w ogóle da i żeby się nie bać przeczytałem sobie tutaj, jednak to koniec wartości tego wpisu. zabrakło kilq ważnych informacji.

  • za artykułem zrobiłem upgrade wszystkich komponentów DPM i agentów [w arcie mowa o starych poprawkach więc lepiej wyszukać najnowszych]. i tu się pojawia pierwszy problem – jeśli backup dotyczy również stacji mobilnych, to pewnie nie będzie ich aqrat w okolicy ergo nie zostaną podniesione wersje.
  • art sugeruje zrobienie backupu z SQL managera… ja bym raczej polecił /DPM/bin/DMPbackup.exe -db
  • instalator cały czas sugeruje, że to będzie nowa instalacja – w pewnym sensie będzie, ale należy nie zwracać na to uwagi – konfiguracja będzie przeniesiona. najdziwniejszy jest moment, w którym należy wybrać bazę danych [w moim przypadq baza była na tym samym kompie]. należy wybrać 'use dedicated instance’.
  • kolejnym dziwnym krokiem jest hasło dla kont DPMowych – podać stare hasło czy jakieś nowe? odpowiedź: nie ma to znaczenia. zostanie zmienione.
  • każda faza upgrade’u wymaga restartu. co więcej – pomimo opcji 'czek apdejts’ przy instalacji, nie warto tego od razu robić, ponieważ nawet po znalezieniu poprawek dla DPM ich instalacja nie powiedzie się. trzeba zrestartować, wyszukać, zainstalować, zrestartować, dalej wykonywać upgrade.
  • po instalacji DPM 2012 pozostaje działająca baza 2o1o oraz stary SQL. kiedy już się upewni, że wszystko działa – można je usunąć. o dziwo instalator nawet nie ustawia starej bazy w tryb ręczny, więc standardowo działać będą obie.
  • nie znalazłem czegoś takiego jak „SP1 dla DPM 2o12”. instalacja SP1 sprowadza się de facto do zrobienie in-place upgrade z DPM2o12 -> DPM2o12 SP1 /:
  • największym problemem przy każdym przejściu jest upgrade agentów na końcówkach. DPM sam z siebie nie ma możliwości automatycznej instalacji wersji. po prostu nie będzie robił backupów. jeśli chodzi o serwery – jest to dość proste, ponieważ z panelu 'management’ można po prostu zaznaczyć wszystkie serwery i zrobić 'update’. jeśli chodzi o laptopy – pozostaje przygotowanie paczki SCCM. serwery poza domeną – instalacja skryptowa.

sporo drobiazgów, a stresik jest.

eN.

ograniczenia Storage Spaces

artykuły dotyczące funkcjonalności są zazwyczaj mieszaniną zachwytu oraz wizji jak to teraz będzie cudownie. można się z nich dowiedzieć że coś jest i mniej-więcej o co cho, niemniej pod względem wartości – są tylko wstępem do rzeczy całej. dla tego najbardziej lubię arty krytykanckie [ale nie hejterskie!], ponieważ to w nich odnajduje się ostrzeżenia, ograniczenia, potencjalne problemy czy nieobsługiwane scenariusze. nawiązując zatem do trendu kilka rzeczy, na które należy zwrócić uwagę przy korzystaniu z SS.

limity i inne takie

  • SS pozwala na założenie volumenu logicznego o wartości przekraczającej dostępną wielkość fizyczną. [nie testowałem, ale ponoć] jest w bug w SS, w wyniq którego przy osiąganiu górnych limitów zużycie CPU peakuje a dostęp się zawiesza. generalnie uważam, że tworzenie dysq logicznego większego niż fizyczna przestrzeń w produkcji, to strzał w kolano. zawsze można potem łatwo zrobić 'extend’ więc po co tak ryzykować? bo przecież…
  • …kiedy przestrzeń kończy się na dyskach fizycznych, volumen SS jest wyłączany.
  • po wybraniu trybu działania volumenu [single/mirror/parity] – ustawienia nie da się zmienić. w sumie to normalne dla każdego RAIDu… inne zasady dotyczące odzyskiwania/przenoszenia danych na fizycznych dyskach również obowiązują – nie da się wyjąć pojedynczego dysq i z niego coś odczytać. cały system działa na poziomie 'block level’ i dane są rozdystrybuowane na wszystkie dyski.
  • jeśli wybierze się tryb 'mirror’, a wielkości dysqw nie są takie same, to traci się całą pozostałą przestrzeń. mirror wymaga równych kawałków, a więc jeśli mamy pool z 3 dysqw – 5,1o i 2o GB, to fizycznie będzie to RAID na 3x5GB [no… trochę kłamię – szczegóły w FAQ]. dla użytkownika de facto będzie jeszcze mniej, bo odpadają parzystości. jedną z najistotniejszych rzeczy, o których należy pamiętać w pracy z SS jest właśnie fakt, że pod spodem działają normalne algorytmy wyliczania parzystości znane z RAID. w związq z tym ustalając maxymalną wielkość volumenu logicznego należy pamiętać o tym, że fizycznie to nie jest prosta suma dostępnych dysków fizycznych. IMHO to spory ból, że nie ma dostępnego jakiegoś kalqlatora podczas tworzenia volumenu [jest w w8 a nie ma w w12 /: ], który pokazuje max fizycznej dostępnej wielkości… szczerze powiedziawszy to nie wiem jak to w ogóle sprawdzić na serwerze O_o
  • minimalną wielkością dysq obsługiwaną przez SS jest 4GB
  • cluster nie obsługuje SS fizycznych RAIDów – pool musi być utworzony z fizycznie podłączonych dysków SAS, wyłącznie z fixed provisioning i tryb parzystości mirror lub simple [nie obsługuje parity]
  • braqje sensownego systemu notyfikacji…

kilka fajnych zmian pojawia się w wersji R2 – zwłaszcza Automatic Tiering. niemniej powyższe ograniczenia zostają.

ot taka ciekawostka na koniec – próba skopiowania pliq na volumen, który fizycznie już nie ma miejsca:

 

#REFS

eN.

the trust relationship between this workstation and the primary domain failed

dość standardowy komunikat – zwłaszcza na maszynach wirtualnych. snapshotowanie czy po prostu długo uśpione maszyny – w takich przypadkach hasła często desynchronizują się z a AD. do tej pory wykorzystywanym rozwiązaniem było wyrzucenie i dodanie maszyny z powrotem do domeny. ciekawostka, która mnie zawsze intrygowała to opcja 'reset password’ na obiekcie komputera w ADUaC. opcja, która teoretycznie powinna wymusić synchronizację hasła. jakoś nigdy mi to nie zadziałało, choć są tacy, którzy twierdzą, że to się zdarza O_o?

tymczasem w powershell v3.o pojawiało się polecenie pozwalające na synchronizację hasła: Reset-ComputerMachinePassword.

zgodnie z zasadą 'człowiek uczy się całe życie’ okazuje się, że taka funkcjonalność była dostępna od dawna… z poleceniem ’netdom resetpwd’ /:

temat trafił na mnie przypadkiem więc póki co nie testowałem żadnej z powyższych – dwa najważniejsze pytania to czy obie działają i czy konieczny jest restart? do sprawdzenia.

a to KB powinno zostać zmodyfikowane: KB162797

eN.