Skip to Content

IT nieuczesane.
category

Category: tips’n’tricks

Problem Steps Recorder

Małe genialne narzędzie w Windows 7.  Docelowo służy do tego, by zdalny użytkownik, mógł przesłać swojemu adminowi cały proces w czasie którego pojawia się problem … np…  Klikam tu i tu … pokazuje mi się to i to … i potem sruuuu i wyglada to tak … User musi tylko uruchomić w/w soft, nacinać RECORD, wykonać swoją czynność od początku do końca i przesłać wygenerowanego przez program ZIPa do admina. Zastosowanie Alternatywne … DOKUMENTACJA UŻYTKOWNIKA!!!!. Wszelkie instrukcje obsługi …Dodawanie komentarzy i eksport do HTMLa … do tego banalny interface …czad!Uruchomcie aplikację … poklikajcie trochę … bezcenne;)Dla mnie super tool!

Odkrycie dnia – częściowa maksymalizacja oka

Dziś przez przypadek odkryłem jak zmaksymalizować okno tylko w jednym wymiarze… Mianowicie w pionie (od góry pulpitu do paska start). Wystarczy najechać na górę, lub dół okna, aż kursor zmieni się w tą podwójną strzałkę i kliknąć dwa razy :) działa niestety tylko na w7/ws2k8r2 :/

nslookup odpowiada – a system ‘could not find host’

C:>nslookup www.COS.com
Server: DNS.local
Address: 10.10.10.10
Name: www.COS.com
Address: 10.10.10.11
C:>ping www.COS.com
Ping request could not find host www.COS.com. Please check the name and try again.

bardzo nieprzyjemne zwłaszcza, jeśli dzieje się tak na ISA. rozwiązanie: restart usługi „DNS Client”

n.

outlook nie zachowuje załączników danego typu

podczas zachowywania plików pdf outlook wyświetla komunikat, że nie może zapisać pliq z powodu braq praw zapisu. pierwsza myśl, że może poziom zabezpieczeń… ale komunikat jest inny. może zatem jakiś AV, lub inna aplikacja, która bloqje ten typ pliq? wszystkie inne załączniki normalnie działają – może jakieś ustawienia pluginu adobiego, który jest na tym kompie?

rozwiązanie jest dość zasaqjące – trzeba wyczyścić katalog plików tymczasowych outlooka. ścieżka do niego znajduje się w kluczu: HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0OutlookSecurityOutlookSecureTempFolder

n.

windows backup, bootwanie z vhd i dużo czasu

podczas MTS jedna z osób zapytała się, czy to prawda, że kiedy wykona się backup Windows 7, można z tego backupu uruchomić komputer? dla niewtajemniczonych [są tacy?] jest to złożenie dwóch funkcjonalności, które pojawiły się odpowiednio w Vista i w7:

  • Windows Backup w postaci image’u robiony do pliq VHD
  • możliwość bootowania w7 z vhd

mówiąc bardzo w skrócie: tak, da się zbootować system z backupu [w7].

rzeczywistość jest mniej przyjemna i walczyłem 3 dni, żeby to udowodnić – przebijanie się głową przez kolejne ściany praw Murphiego jest bolesne. w efekcie osiągnąłem 95% sukcesu.

warunki początkowe
warunkiem aby taka operacja zadziałała jest bootowanie dysq vhd na takim samym [bardzo zbliżonym] kompie. testowałem na maszynie nieco odbiegającej od oryginału, ale w zasadzie ten sam model. z ciekawości odpaliłem ten sam image na sprzęcie w żadnym stopniu nie przypominającym oryginalnego i…. *wstał bez problemów* (SIC!). to pozytywna wiadomość, bo to otwiera drogę do dość prostej migracji komputerów – backup > kopia pliq na drugi komp > odpalanie systemu z vhd > instalacja nowych sterowników.
w końcu znalazłem zastosowanie dla Windows Backup – którego osobiście bardzo nie lubię, i do tej pory wieszałem na nim psy. jak się okazuje – są scenariusze, do których się przydaje [szkoda, że nie jest to po prostu backup (; ].

dla czego 3 dni?
podstawowym problemem zabierający godziny jest czas operacji wykonywanych na dyskach vhd i kopiowania via USB – nie ma to takiego znaczenia, kiedy się bawi 8-1oGB plikami, ale backupowany dysk miał 16oGB. dysk, z którego uruchamia się system musi być typu „FIXED”, backup oczywiście robi „DYNAMIC”. konwersja następuje podczas uruchomienia systemu, a więc trzeba mieć odpowiednią ilość miejsca – w innym wypadq jedyne co się zobaczy to bluescreen.
no i zaczyna się zabawa… w jaki sposób zmniejszyć dysk vhd? zadanie w zasadzie trywialne:

  • należy podmountować vhd
  • zmniejszyć partycję [shrink]
  • użyć vhd resize do zmniejszenia dysq i konwersji na FIXED

każdy z kroków okazał się zabójczo czasochłonny i niósł ze sobą ograniczenia… a każda pomyłka to kilka h w plecy.
punkty 1 i 2 należy wykonać z w7 – vhd mount z virtual servera nie rozumie vhd z w7. nie ma problemu – wystarczy płyta instalacyjna w7. tutaj pojawia się jednak następne ograniczenie – pomimo dużej ilości wolnego miejsca w vhd, dysk da się zmniejszyć tylko o kilka procent… dla czego? pliki są sfragmentowane, a WBackup robi image dysq – a więc odzwierciedla fragmentację wewnątrz vhd. należy więc najpierw zrobić defraga. żeby go zrobić trzeba podmountować vhd jako partycja albo pamiętać o tym przed wykonaniem backupu. żeby podmountować vhd i zrobić defrag trzeba już mieć żywy w7 [na płycie instalacyjnej defraga nie ma ): ], do którego możemy go podpiąć. defrag wykonuje się kolejne kilka h…
zakładając że dysk był zdefragmentowany i możemy pomniejszyć partycję pozostaje zmiana wielkości partycji. być może miałem zbyt mało cierpliwości ale kiedy próbowałem zeshrinkować partycję na dysq dynamicznym – operacja zawieszała się i w efekcie nie dało się potem użyć vhd resize. a więc najpierw trzeba wykonać vhd resize modyfikację do FIXED [ilość miejsca: wielkość backupu + wielkość dysku oryginalnego] – kolejne kilka godzin [zostawiłem na noc q: ]. kiedy miałem już dysk FIXED, bez problemu udało mi się wykonać SHRINK [chociaż też sporo to trwało – koło godziny?]… no i teraz można użyć VHD Resize do zmniejszenia wielkości – znów ładnych parę godzin czekania. fuh.

ale kiedy już po prostu ma się odpowiednie vhd i odpowiednią ilość miejsca cała operacja jest dość prosta q:
a czemu tylko 95% sukcesu? bo dla mnie ostatnia ściana Murphiego okazała się nie do przebicia. całym celem tych wszystkich manewrów było uruchomienie starego lapa, żeby dostać się do książki adresowej outlooka. nie wiedzieć czemu outlook poczęstował mnie komunikatem, że nie ma wszystkich folderów ani połączenia z serwerem i żebym poszedł na szczaw.

na koniec kilka instrukcji

zmniejszenie partycji na dysq vhd
potrzebne: system z w7 lub płyta instalacyjna w7
założenie: vhd jest zdefragmentowany

  • jeśli uruchamia się z płyty, wystarczy na pierwszym ekranie nacisnąć shift-F1o i mamy konsolę. jeśli jesteśmy w żywym systemie – cmd.exe [z trybie administratora]
  • diskpart
  • select vdisk file=”X:DIRmojbackup.vhd” – tutaj dwie uwagi. po pierwsze nazwy plików z backupu sa bardzo nieprzyjemne, więc dobrze sobie taką nazwę zmienić na coś zapamiętywalnego, po drugie jeśli mamy owe vhd na dysq USB, to jaką ma literkę? na szczęście konsola – również z płyty instalacyjnej – ma wmic’a: „wmic logicaldisk get caption,description” pomoże sprawdzić literki dysqw
  • attach vdisk
  • list disk
  • select disk 2 – oczywiście numerek sczytany z poprzedniego listingu
  • list part
  • select partition 1
  • shrink querymax – to trwa kilka minut ale będzie wiadomo o ile można pomniejszyć partycję
  • shrink desired=60000 minimum=60000 – zmniejszenie o 6oGB… no i teraz czekać, czekać, czekać
  • detach vdisk

jak to zrobić spod XP
xp to pasqdztwo. ale cóż – nie miałem wyjścia, więc przy okazji sprawdziłem. podstawowym problemem jest instalacja bootloadera z w7. zastosowałem sposób opisywany tutaj – z żywego w7 skopiowałem katalog WindowsBoot a potem użyłem EasyBCD. ten totalnie rozwala wpisy [bo jest pisany na viste a nie na xp] a więc w pierwszej kolejności trzeba naprawić wpis dotyczący bootowania XP.
podczas zabawy z bcdedit mam wrażenie, że to działa niedeterministycznie – używanie aliasów ID często kończy się w zupełnie nieprzewidywalny sposób. ciekawe jest też to, że niektóre wpisy nie są pokazywane – np. wpis {ntldr}:

  • jeśli wykona się bcdedit /create {ntldr} /d „gowniany XP” – skończy się to komunikatem, że taki wpis już jest – pomimo, że /v go nie pokazuje. no więc najpierw trzeba go usunąć [z opcją force]
  • bcdedit /delete {ntldr} /f
  • bcdedit /create {ntldr} /d „gowniany XP” – teraz zadziała (;
  • bcdedit /set {ntldr} device partition=D: – tutaj to d: jest sporą ciekawostką. w zasadzie to przecież vhd powinno być gdzieś dalej… to jedna z zagadek: ‚czy da się tą wartość deterministycznie wyliczyć?’
  • bcdedit /set {ntldr} path ntldr
  • bcdedit /displayorder {ntldr} /addlast – dopiero po tej komendzie, wpis pokazuje się na liście przy parametrze /v

i tyle. xp się uruchamia. oczywiście trzeba jeszcze dodać samo vhd do listy bootowania ale tutaj już sobie wygooglujcie sami q:

wszystko takie proste… w teorii.

n. [w lekkim pośpiechu. sory za tempo ale cały czas braqje mi czasu… mam nadzieję że *cokolwiek* z tego textu jest zrozumiałe. kiedy czytałem go drugi raz sam niewiele zrozumiałem, więc postanowiłem dodać na końcu tegoż-oto disclaimera (; ]

Usuwanie nie skasowanych profili

Idea profili mandatoryjnych jest piękna. Niestety czasami skubańce nie chcą się kasować :/ Takimi cudeńkami obdarzamy studentów, żeby jak im się coś popsuje wystarczył restart i mają świeży profil. Aby sam mechanizm wspomóc wrzuciłem do GPO taki prościutki skrypcik:

on error resume next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:Documents and Settings")
Set colFOlders = objFolder.SubFolders
Dim re 
set re = New RegExp
re.Pattern = "(^s[0-9][0-9][0-9][0-9]?[0-9])|(^pd[0-9][0-9][0-9])"
For Each subFolder In colFOlders
 
if re.Test(subFolder.Name) then 
   
subFolder.delete(true)    
 
end if
Next

IT Haiku

 

na maila czekasz gdy

spam sprawdź

n.

Remote Desktop na WS2008R2

Parę spostrzeżeń na temat usług zdalnego pulpitu:

  • RemoteApp rządzi! Opcja z udostępnianiem mRemote lub visionApp jest szczególnie fajna :)
  • Po zainstalowaniu roli Remote Desktop Services w Outlooku standardowo wyłącza się Cahched Exchange Mode – niestety nie da się tego chyba obejść :/
  • Żeby włączyć całe aero w sesjach teminalowych trzeba pogrzebać w GPO, a dokładniej – Computer SettingsAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session Enronment ustawienie “Allow desktop composition for remote desktop sessions” na Enabled
  • Żeby móc przekierowywać dźwięk, też trzeba dobrać się do polis – Computer SettingsAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostDevice and Resource redirection ustawienie “Allow audio and video playback redirection”

To by było na tyle szybkich spostrzeżeń ;)

SCCM Console Extensions – WOL nie działa na WS2008

Ostatnio mocno zainteresowałem się rozszerzeniami konsoli SCCMa. Ogólnie polegają one na fajnym wykorzystaniu przestrzeni nazw WMI, którą daje ConfigMgr. Ale żeby nie malować trawy na zielono najpierw zainstalowałem 2 pakiety wtyczek – SCCM Right Click Tools oraz SCCM Console Extensions. Po ich przetestowaniu muszę powiedzieć, że można robić niezłe cuda w MMC przy użyciu hta i vbs ;)

Tyle, że jedna funkcjonalność mi nie działała – Wake On Lan. Wiem, że komputery mają uruchomiony remote wake up i są podłączone do sieci (1 warstwa) mam możliwość directed broadcast (2. warstwa), więc problem musi być z działaniem samej wtyczki. Po kliknięciu tutaj:

image

Mamy śliczny komunikat, że wszystko się udało.

image

grzebiąc w kodzie znajdujemy coś takiego:

errReturn = WshShell.Run(chr(34) & strCurrentPath & "WOL.exe" & chr(34) & " " & strWOLAddress,0)
If errReturn <> 0 Then
   
LogArea.Value = LogArea.Value & "ERROR!" & vbCrLf
   
LogArea.Value = LogArea.Value & " " & Err.Description & vbCrLf
   
LogFile.WriteLine(Date & " " & Time & vbTab & "Send Wakeup: ERROR!" & vbTab & Err.Description)
   
LogArea.scrollTop = LogArea.scrollHeight
Else
   
WolSuccess = 1
   
LogArea.Value = LogArea.Value & "Wakeup sent to " & strMACAddress & vbCrLf
   
LogArea.scrollTop = LogArea.scrollHeight
   
LogFile.WriteLine(Date & " " & Time & vbTab & arrComputers(iList) & ": Wakeup sent to " & strMACAddress)
End If

Widać, że to nic innego niż wywołanie wol.exe z katalogu z rozszerzeniami. Sprawdzamy co się dzieje z tym programikiem. Po wpisaniu w CMD – "c:Program FilesSCCMConsoleExtensionsWOL.exe" 00219B7B80CD też działa… ale ale – brakuje adresu IP i maski do kierunkowego bradcastu. Patrzymy wol.exe /? można podać tylko IP :/ niedobrze. sieci z nie klasowymi maskami odpadają. po chwili szperan
ia w bingu znalazłem narzędzie wolcmd.exe. Usage: wolcmd [mac address] [ipaddress] [subnet mask] [port number]. No i pięknie teraz tylko wrzucić je do odpowiedniego katalogu i podmienić kawałęk skryptu na coś takiego:

strNetmask = inputbox("Provide netmask")
For Each instance in colMACAddress
   
strMACAddress = instance.MACAddress
   
strWOLAddress = (Replace(instance.MACAddress,":",""))
   
strIPAddress = instance.IPAddress
   
LogArea.Value = LogArea.Value & arrComputers(iList) & ": "
   
LogArea.scrollTop = LogArea.scrollHeight
   
errReturn = WshShell.Run(chr(34) & strCurrentPath & "wolcmd.exe" & chr(34) & " " & strWOLAddress & " " & strIPAddress & " " & strNetmask & " 7",0)
    
   
If errReturn <> 0 Then
       
LogArea.Value = LogArea.Value & "ERROR!" & vbCrLf
       
LogArea.Value = LogArea.Value & " " & Err.Description & vbCrLf
       
LogFile.WriteLine(Date & " " & Time & vbTab & "Send Wakeup: ERROR!" & vbTab & Err.Description)
       
LogArea.scrollTop = LogArea.scrollHeight
   
Else
       
WolSuccess = 1
       
LogArea.Value = LogArea.Value & "Wakeup sent to " & strMACAddress & "" & strIPAddress & vbCrLf< font color="#808080">
        LogArea.scrollTop = LogArea.scrollHeight
       
LogFile.WriteLine(Date & " " & Time & vbTab & arrComputers(iList) & ": Wakeup sent to " & strMACAddress)
   
End If
Next

No i wtedy działa :) Jeszcze jedna uwaga – w czasie szukania pól do skryptów niezastąpione jest narzędzie WMI CIM Studio. tylko należy pamiętać, żeby wybrać do przeglądania namespace \Srv1rootSMSsite_LAB gdzie Srv1 to nazwa serwera SCCM, a LAB to trzyliterowy kod site’u. Najciekawsze klasy są w gałęzi – SMS_GroupSMS_G_System_Current*

Entourage w połączeniu z Exchange 2007

Drobnostka, ale mnie dzisiaj rozbawiła.

Na MACówkach  ginęły mejle. A dokładniej, klient Entourage w połączeniu z Exchange 2007 nie widział niektórych mejli… w sumie całych wybranych wątków dyskusji mejlowych. Widać było je przez OWA nawet przez iPhona … tylko nie przez Entourage.

Problemem okazał się durny,  a powodowała go interpretacja znaku „+” w tytule mejla … i tutaj wytłumaczenie i rozwiązanie po stronie EX2k7. Po wykonaniu polecenia, meje pojawiły się niemal natychmiast ;)