Skip to Content

IT nieuczesane.
category

Category: tips’n’tricks

We can’t verify who created this file

dość standardowy komunikat podczas uruchamiania skryptów z dysq sieciowego. powód – ścieżka nie jest rozpoznawana jako ‚local Intranet’ i nie jest zaufana – czyli rozwiązaniem jest dodanie adresu do odpowiedniej strefy w Internet Settings Zones. o ile same strefy koncepcyjnie są dobrym pomysłem, o tyle ich realizacja, działanie i zarządzanie prosi się o złożenie krwawych ofiar z IE team na ołtarzu Wielkiego Admina. kilka zebranych ciekawostek dotyczących tego tematu…

1. zarządzanie strefami via GPO…

tak najlepiej – bo globalnie. to rozwiązanie ma jednak sporo ograniczeń przez co traci na przydatności. najlepiej zerknąć jak strefy są zapisywane w rejestrze. ustawienia mogą być per user [HKCU] lub per komputer [HKLM] w kluczu:

HKxx\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap

w nim są dwie gałęzie – Domains oraz EscDomains, które będą używane zależnie od tego czy IE odpalony jest w trybie ESC czy pełnym. dalej są już wpisy z wartością DWORD przypisującą do odpowiedniej strefy. podobnie jest to widoczne w GPO – gdzie podaje się listę stron i definiuje odpowiednią wartość przypisania. co z tego wynika? ponieważ lista jest płaska:

  • wpisy w żadnym scenariuszu nie są sumowane! zawsze wygrywa jedna lista, i ta jest traktowana jako całość. a więc nie ma możliwości ‚dodania wpisu’ dla danej grupy czy usera – trzeba zawsze podawać pełną listę.
  • wpisy dla komputera zawsze wygrywają – to aqrat standard dla GPO
  • pozostaje kwestia metody dodania wpisów – czy będzie to IE Maintenance Mode, czy GPP. w GPP można na dwa sposoby – przez konfigurację IE oraz przez dodanie wpisu bezpośrednio do rejestru

brak granularności jest koszmarnym utrudnieniem i generuje muliplikowanie polis i wpisów – różnica w pojedynczym wpisie wymaga przepisania całości. jakimś obejściem problemu jest dodawanie wpisów poprzez dodanie klucza w rejestrze.

2. IE Maintenance Mode – czyli zgroza. szczęśliwie został wycofany w IE1o, nieszczęśliwie wiele firm nadal korzysta [i pewnie długo będzie] z IE8/IE9. edytor polis – GPEdit – wspiera się kontrolkami systemowymi. i tak też jest w przypadq IEMM. oznacza to, że wszystko zasysane jest z komputera, na którym wykonywana jest operacja. to z kolei oznacza, że trzeba mieć tyle komputerów bazowych, ile różnych wersji OS i przeglądarek. optymalnie x2 [z ESC i bez]. przy modyfikacji istniejącej polisy trzeba przenieść stację do OU w którym jest polisa, zassać ją, otworzyć GPMC – dopiero teraz GPedit, otwierając IEMM zassie wartości, które można modyfikować. w innym wypadq trzeba będzie wszystko wpisywać od początq.

3. Słowo o GPP. niewątpliwie jest nieporównywalnie lepszym rozwiązaniem, zastępującym IEMM. najlepiej zmigrować polisy do GPP ASAP, chociaż i tutaj nie jest bez niespodzianek – znów, są oddzielne ‚szablony’ w GPP dla różnych wersji IE, i zależnie od tego jaka jest kombinacja wersji OS/IE – niektóre będą widoczne, a niektóre nie /:

4. We Can’t Verify Who Created This File… czyli skąd w ogóle ten temat. taki komunikat zaczął pojawiać się na stacjach klienckich podczas logowania użytkowników. okazało się, że jest uruchamiany przy logowaniu skrypt… jako admin lokalny komputera. no i zaczyna się babol, ponieważ nie da się utworzyć polisy na użytkownika lokalnego. klient ma windows7 z IE8 i polisy robione IEMM. teoretycznie w sukurs może przyjść fakt, że IEMM jest dla usera i komputera, a polisy komputera nadpisują użytkownika – również lokalnego. hura!… ale zaraz.. jeśli doda się pojedynczy link – to nadpisze wszystkie dodane użytkonikowi, bo się nie sumują. kto podejmie się przepisywania wszystkich polis w dużej firmie, przewidzenia konsekwencji zmiany logiki itp itd… a czasu nie ma. trzeba zrobić.

i tu rozwiązaniem okazało się wstrzyknięcie tego pojedynczego wpisu do rejestru:

  • GPEdit/Computer Configuration/Preferences/Windows Settings/Registry
  • i tutaj dodane „Update” dla:
    • Hive: HKLM
    • KeyPath: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\<server.with.domain.ad>
    • Value: *

 

 PODSUMOWUJĄC

jeśli jesteś adminem i nie masz zapędów samobójczych – rób wszystko żeby utrzymać jeden standard – tutaj OS+IE, ale generalnie ustandaryzowane środowisko jest łatwiej zarządzalne.

druga porada – staraj się korzystać z dobrodziejstw nowych metod – GPP zamiast skryptów czy IEMM, folder redirection a nie jakieś roaming profiles i tak dalej…

eN.

Alternate Data Stream

o ADS już kiedyś pisałem – oj dawno. dziś tylko małe uzupełnienie dot. PowerShell:

do tej pory jedynym sensownym sposobem usunięcia ADS było zassanie streams.exe z sysinternalsów. ale lepiej znać narzędzia które w systemie są od razy – czyli PS. scenariusz: zassany skrypcik z netu na jednym z kompów ciągle jest klasyfikowany jako ‚zone.identifier 3’ czyli z Internetu. i choćbym klikał na ‚unblock’ 1ooo razy – ni huhu. z jakiegoś powodu nie kasuje tej informacji. z PS proste jak drut:

 

et voila!

eN.

operacje na sesjach użytkownika z linii poleceń

nie trudno się domyślić, że w PS dodane jest sporo poleceń pozwalających na zarządzanie sesjami userów. niestety można to potraktować bardziej jako ciekawostkę ponieważ znaczenie ‚uniwersalny’ nie ma żadnego przełożenia – dodane są w w12/w8 ale gorszą wiadomością jest fakt, że działają tylko na serwerach z rolą RDS. w skrócie: korzystając z PS nie da się tego zrobić.

są za to stare-dobre toole linii poleceń, które warto sobie odświeżyć:

  • QUSER (tylko użytkownicy) i QWINSTA (wszystkie sesje) wyświetlające obecne sesje. QWINSTA ma łatwiejszy do zapamiętania odpowiednik QUERY.
  • mając ID sesji możemy ją wylogować korzystając albo z LOGOFF <SessionID> albo z RWINSTA <SessionID>. RWINSTA ma łatwiejszy do zapamiętania alias RESET <SessionID>.

narzędzia są w systemie od dawna i pozwalają na szybkie pozbycie się duchów (;

eN.

skrypt audytujący

zadanie – jak zaudytować komputery poza domeną tak, aby stwierdzić jakie są na nich aplikacje i jakie licencje? prostym zapytaniem WMI można dowiedzieć się, że wersja systemu to np. WinXP pro – ale OEM czy VLK?

nie udało mi się dotrzeć do samych linków na MSDN ale udało mi się zebrać te informacje. kilka ogólnych:

  • MAP toola nie da się użyć często ze względu na niedostępność komputerów a czasem credentiali. niestety takie środowiska są i to wcale nie tak rzadkie jakby się mogło wydawać…
  • wersję licencji OEM/VLK/MAK można wyciągnąć np. przy pomocy slmgr.vbs … ale tego nie ma na XP. poza tym lepiej mieć to we własnym skrypcie. kluczem jest „HKLM\SYSTEM\Setup\Pid”. w skrypcie poniżej pokazuję konkretne wartości.
  • można nawet dowiedzieć się jaka to wersja na podstawie innego klucza – ale pełnej listy nie mam.
  • korzystanie z metody Win32_product nie jest wskazane ponieważ każde takie odpytanie automatycznie uruchamia proces weryfikacji. trwa długo i może doprowadzić do dziwnych komunikatów – ogólnie wysypać się. dodatkowo – klasa PRODUCT nie jest standardowo instalowana na wersji XP /: trzeba ją oddzielnie dodać. lepiej skorzystać z zapytania do rejestru.
  • odpytując rejestr na 64 bitowej maszynie musimy zrobić dwa zapytania, zmieniając providera – inaczej dostaniemy tylko małą część aplikacji zainstalowanych.
  • do bardziej skomplikowanych operacji oraz bardziej wymyślny skrypt -> open audit

a poniżej kod. oczywiście w VBS ponieważ to jedyny ‚standard’ który zadziała na każdej wersji od w2k aż po dzisiejsze w8.1

eN.

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ć.

 

 

 

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.

VMConnect

niedawno pisałem o tym, co można zrobić z hosta maszynie wirtualnej. przy okazji dalszych poszukiwań poczytałem sobie o VMConnect.exe – czyli jak w zasadzie działa zdalny pulpit to VM? najciekawsze jest,  że jest to zdalny pulpit – ale przecież można się połączyć zanim w ogóle wystartuje system. po zainstalowaniu RSAT dla Hv vmconnect znajduje się w „C:\Program Files\Hyper-V” i można pobawić się z linii poleceń. wymagane są dwa paramtry: nazwa hosta oraz maszyny wirtualnej, przy czym nazwa VM może być w postaci nazwy lub VMID. kilka ciekawostek o VMConnect i PS można przeczytać tutaj.

pozostaje jeszcze jedna ciekawostka – na Hyper-v Server nie ma GUI i nie ma VMConnect. ciekawszym scenariuszem jest zarządzanie z Linuxa… okazuje się, że na codeplexie jest alternatywa – FreeRDP.

eN.

 

Najlepszy skrót w Windows 8

Właśnie walczę drugi dzień z interfejsem W8 i naciskając po kolei wszystkie kombinacje Windows+… trafiłem na Windows+X
Może i lamerski wpis, ale mi ułatwił życie… może innym się przyda. Poniżej wynik tej kombinacji: