zapamiętywanie ustawień okna

okna dialogowe w windows lubią niepamiętać ostatnich ustawień. można się narzeźbić na różne sposoby ale jeden jeden stary trick, który może ułatwić życie – wystarczy dane okno dialogowe [np. ‘save as’] skonfigurować pod siebie [widok, sortowanie, szerokość kolumn etc] a następnie zatwierdzić [OK] lub zamknąć [X] przytrzymując shift.

proste, sqteczne, działa od co najmniej win 95 – ale ponieważ ostatnio kilka osób się tym zdziwiło – może przyda się ogólnie. sposób działa również na niektóre aplikacje.

n.

umierające media

takie umierające media to dyski optyczne – CD, DVD, BlueRay i inne wynalazki. zbyt odważnie? BlueRay jest nowością więc jak może umrzeć? tego rodzaju nośniki to przede wszystkim dwa przemysły – IT oraz Multimedia [fonografia, przemysł filmowy]. pytanie numer jeden – ile z czytelników ma czytnik BlueRay , a potem ile z tych osób ma na myśli swojego playstation 3 (; ,a następnie ile razy z niego skorzystała? pytanie dalsze – jaki procent rynq światowego ma BlueRay w porównaniu do klasycznego DVD? nie wiem – ale spodziewam się, że liczby są małe. niewątpliwie w skostniałym przemyśle filmowym tego rodzaju media się utrzymają jeszcze dłuższy czas z prostego powodu – prawa autorskie, ciągłe, bezsensowne wojny o sposoby dystrybucji. firmy żyjące w poprzedniej epoce i nie potrafiące poradzić sobie z nowym rynkiem dostosowując prawo do Internetu, P2P, VoD, TVOnline i wszystkiego tego, co próbuje wybuchnąć, a co owe firmy próbują przygasić ciągłymi rozprawami sądowymi – zamiast zainwestować w modernizację prawa, sposoby dystrybucji etc. natomiast w IT – czy ktokolwiek odczuwa potrzebę jakichkolwiek krążków?

legalnie czy nie – rynek żyje i ma się dobrze. kto nie potrafi na tym zarobić – traci. to jest niepowstrzymany kierunek. wygoda, ekologia i minimalizacja ceny – łatwość zaqpu, eliminacja pośredników, eliminacja nośników, logistyki, transportu itp itd etc…. po prostu tak musi być bo to wygodne. nośniki optyczne są u skraju życia. być może wyjdzie jeszcze jeden genialny standard – 1o.ooo warstwowy krążek o wielkości standardowego CD – tylko dla kogo? po co? kto zainwestuje w kolejne urządzenie?

jakiś czas temu umarły tzw. dyskietki – nośniki magnetyczne, które podobnie do CD/DVD przez wiele lat hamowały rozwój, a windows aż do wersji w2k3 – już po śmierci flopów – nadał nie potrafił się bez flopa obejść. to niewiarygodne jak pewne standardy utrwalają się – nie tylko na rynq masowym ale również w produktach tworzonych przez elitę rynq developerskiego. co nam do dziś zostaje z umierających CD [bo kto ma jeszcze w domu CD-ROMa?]? niewiele -  bezsensowny podział plików na 7oo MB.

Ciekawym problemem jest sposób dostępu do danych przetrzymywanych na takich mediach. Kiedyś czytałem art o firmie w GB, która zajęła się stworzeniem dostępu do danych na archaicznych nośnikach, bo w wielu miejscach jeszcze można znaleźć informacje nie tylko na CD czy flopach ale dyskach bębnowych czy kartach perforowanych: instytucje państwowe, biblioteki, uczelnie – tak często można dokopać się jeszcze do takich wynalazków.

świat przyszłości to świat bez mediów fizycznych – wszystko zastąpione siecią i dostępem zdalnym – uzupełnione bardziej uniwersalnym standardem – jak dyski USB, które nie określają fizycznego nośnika [magnetyczny, optyczny, SSD, flash] – a tylko sposób dostępu. do pełni szczęścia brakuje tylko równie uniwersalnego prawa, będącego nadążać za technologią q:

n. back from the dead

Krok ku zarządzaniu

 Żeby nie było tak całkiem lajcikowo na tym blogu dodam kilka konkretów na temat uporządkowania działu IT. Nie będę rozpisywał się na temat metodologii ani sposobu tworzenia procesów, serwisów itp., opowiem wam tylko, co zrobiłem u siebie i w ogóle po co to komu. To dopiero początek drogi, ale warto go przebrnąć.

W każdej organizacji nadchodzi moment masy krytycznej, czyli takiego momentu kiedy spraw jest tak dużo, że przestajemy nadążać z ich bieżącym załatwianiem a sposób doboru specjalistów na zasadzie „wszyscy wiedzą wszystko” przestaje się sprawdzać. W takich sytuacjach pomocne może być zgłębienie podstaw jakieś metodologii zarządzania procesami IT (np.. ITIL), zakasanie rękawów i zrobienie LISTY. Przykowa lista zanjduję się tutaj.

Lista serwisów

  1. Nie zrobimy od razu dobrej i kompletnej listy serwisów, a jeśli się to komuś uda, to albo zajmuje się tylko uzupełnianiem tonera w drukarkach, albo jest kolejną implementacją T1000. Sugeruję więc zacząć od spisania wszystkiego, do czego dotyka się dział IT (np.. Meble ustawiam, żarówki wymieniam, komputery instaluje …) Wszystko co nam przyjdzie do głowy. Im tego więcej tym lepiej.
  2. Kolejny krok to mapowanie listy na konkretne serwisy jakie świadczy dział IT. Serwisy muszą być zorientowane na użytkownika! To najtrudniejsza część, bo musimy się postawić w roli przeciętnego usera. Żaden zarząd, dział księgowy czy inne elementy decyzyjne w firmie nie wie, co znaczy „Modernizacja mechanizmów aktywnych zapór ogniowych, poprzez upgdrade MS ISA Server 2006 oraz GFI 12”, natomiast szybciej znajdzie się kasa na „Zapewnienie bezpiecznego korzystania z internetu i ochorny wrażliwych informacji firmowych…”. Czy coś w tym stylu … Czujecie różnicę. Lista serwisów musi być zrozumiała dla wszystkich. Nie tylko dla IT.

 

Przykłady:

  • Bezpieczny dostęp do Internetu
  • Współdzielona przestrzeń dyskowa
  • Współdzielony dostęp do drukarek A4
  • Widekonferencja pomiędzy siedzibami firmy

 

 

  1. Serwisy należy oczywiście opisać, ale zwróćcie uwagę, że nie używamy tutaj nazw sprzętu, systemów itp.. Taka wiedza jest potrzebna tylko IT, dla pozostałych ma zostać przezroczysta. Informacje techniczne możemy zebrać dla siebie, ułatwi to na pewno pracę i pomoże w optymalnym zarządzaniu procesami.

 

Co nam to ułatwia?

 Zaczynamy rozmawiać u zestawach czynności. Serwis współdzielonego wydruku, to dla usera „drukarna nie działa”, dla nas to bardziej skomplikowany mechanizm, bo to składowa urządzenia, tonera, papieru, kabla sieciowego, swicha, serwera wydruku, sterownika, kolejki, znowu kabla, komputera, stacji roboczej i na końcu interfejsu białkowego.  Nie ucieszymy użytkownika stwierdzeniem „… to coś z VLANem drukarek”, drukarka ma działać! Więc potrzebujemy opiekuna serwisu, by to wszystko ogarnął.

 

  1. Potrzebujemy odpowiedzialnej osoby, a jak takiej nie znajdziemy, to musimy wyznaczyć osobę odpowiedzialną ;). Osoba opowiedziana za serwis, nie musi oczywiście samodzielnie wykonywać wszystkich zadań, ale ma być interfejsem, opiekunem i koordynatorem prac, nad przywróceniem działania serwisu (np.. Może wezwać serwis, przeprowadzić testy i poinformować o tym, że awaria została usunięta). Taka osoba musi mieć oczywiście backup na wypadek chociażby urlopu lub innej alokacji.

 

Mamy już podstawowe elementy listy, teraz możemy ją rozbudowywać o kolejne elementy, wedle własnych potrzeb. W przykładowym pliku, dołączyłem elementy, jakie są przydatne dla mnie, opiszę je w dużym skrócie:

  • Service Level – Czyli określenie, czy dany serwis należy się każdemu, czy jest świadczony ale za dodatkową „opłatą”
  • Service Scope – przy kilku biurach, są serwisy globalne (np.. Tylko w centrali) oraz lokalne (tylko w oddziale) np.. Dostęp WiFi

 

Na tym oczywiście lista się nie kończy, ale aby nie zaciemniać obrazu, na tym poprzestanę.  Kolejnymi krokami może być oczywiście dopisanie dostępności serwisów (SLA) i wielu innych rzeczy o które chcemy rozbudować swoją listę. Mój przykład wygląda tak … nie chce mi się tego tłumaczyć, więc pozostaje w lengłydżu.

:)

cytat dnia:

„<yaso> bo wiesz, ja kiedys tez bylem emo… ale jakos do nich nie pasowalem, wiec zostalem adminem sieciowym. Tez mnie nikt nie rozumie, ale przynajmniej za to mi płacą :)”

;)

Forefront – nowości z WPC

I znów o mojej ulubionej rodzinie produktowej :) Wszyscy liczyli, że na WPC w Nowym Orleanie M$ ogłosi RTM dla W7/W2k8R2. Niestety jeszcze jakiś czas będziemy musieli na to poczekać. Ale za to pojawiły się fajniejsze doniesienia dotyczące Forefront vNext (“Stirling”):

  • Cała rodzina będzie się nazywać Forefront Protection Suite (FPS)
  • Konsolka Stirlinga będzie się nazywać Forefront Protection Manager (FPM)
  • Client Security przyjmie nazwę Forefront Endpoint Protection 2010 (FEP)
  • Produkty do ochrony serwerów dostaną numerek 2010 (exchange, sharepoint, ocs)
  • Nowa generacja ISA będzie miała pełną nazwę Forefront Threat Management Gateway Web Security Service
  • Sposób licencjonowania się nie zmieni – pozostanie na zasadach subskrypcji (wyjątkiem będzie TMG sprzedawane per procesor)
  • Udostępniono beta 2 UAGa
  • Produkty z pakietu “Geneva” dostały nazwy
  • Nie ustalono dat premier produktów wymienionych powyżej – wiadomo tylko, że będą rozstrzelone pomiędzy 2H2009 i 1H2010

Dodania numerków 2010 można się było spodziewać (Office i Exchange się będą ładnie zgrywać), ale niestety ciągle brakuje konkretnych dat premier (wiadomo tylko, że TMG pojawi się na pewno jeszcze w tym roku).

Visual Studio Unattended

Przyszły wakacje, a więc czas odświeżania oprogramowania w salach laboratoryjnych w PJWSTK. Oczywiście wszystko powinno być nienadzorowane itd. Przez lata instalacje WinXP leżące na RIS było modyfikowane wielokrotnie – Peki, który jest autorem systemu teraz by go już nie poznał ;)

Dobra – zadnie polega na nienadzorowanej instalacji MSSQL2008 (tylko narzędzia klienckie) i Visual Studio 2008. Pierwszą rzeczą jest ustalenie kolejności instalacji. Gdyby zaczynać on VS, to trzeba by zrobić tak:

  • .NET 3.5 + Windows Installer 4.5 (wymaganie SQL2008)
  • restart
  • VS2008
  • restart
  • SP1 do VS2008
  • restart
  • SQL2008
  • restart

No i jakoś dużo tych restartów :/ gdyby zrobić odwrotnie? Zazwyczaj staram się instalować oprogramowanie według kolejności w jakiej wychodzi na świat, ale tutaj zrobię na odwrót :)

  • .NET 3.5 + Windows Installer 4.5
  • restart
  • SQL2008
  • restart
  • VS2008
  • teoretycznie restart, ale już nie wymagany :)

Jest krócej i to sporo :) Dzielimy to na 3 skrypty vbs. stage1.vbs, stage2.vbs i stage3.vbs 
Pierwszy wygląda tak:

Dim WshShell   
Set WshShell = WScript.CreateObject("WScript.Shell")   
WshShell.run "C:scriptsfrmwrkdotnetfx35.exe /qb /norestart",1,true ’.NET 3.5   
Wait "msiexec.exe","Administrator"   
Wait "setup.exe","Administrator"   
WshShell.run "C:scriptsfrmwrkdotnetfx35SP1.exe /qb /norestart",1,true ’.NET 3.5 SP1   
Wait "msiexec.exe","Administrator"   
Wait "setup.exe","Administrator"   
’Windows Installer 4.5   
WshShell.run "C:scriptsWindowsInstallerWindowsXP-KB942288-v3-x86.exe /passive /norestart /overwriteoem /nobackup",1,true   
Wait "msiexec.exe","Administrator"   
Wait "setup.exe","Administrator"   
’autologin do stage 2   
WshShell.run "c:Windowsregedit.exe /s c:scriptsstage2.reg",1,true   
WshShell.run "c:scriptsshutdown.exe -r -t 30 -f",1,false   

Sub Wait (processName, userName)    
 
On Error Resume Next    
 
Dim objProcess   
 
Dim wmi   
 
Dim isRunning   
 
Dim strUser   
 
Dim return   
 
isRunning = True   
 
set wmi=GetObject("winmgmts:")   
     
 
Do While isRunning   
   
isRunning = False   
   
for Each objProcess in wmi.ExecQuery("select * from Win32_Process")   
       
strUser = ""   
      &#16
0;
return = objProcess.GetOwner(strUser)   
       
If return = 0 Then   
           
if UCase(objProcess.name) = UCase(processName) And UCase(strUser) = UCase(userName) then   
               
isRunning = True   
           
End if           
       
End If   
   
Next   
   
wscript.sleep 1000   
 
Loop   
wscript.sleep 10000   
     
End Sub  

Dla Ciekawskich: Plik stage2.reg wygląda tak:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]  
"DefaultDomainName"
="PJWSTK"  
"DefaultUserName"
="Administrator"  
"DefaultPassword"
="StandardoweHasloAdmina"  
"AutoAdminLogon"
="3"  
"ForceAutoLogon"
="1"  

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]  
"afterreboot"
="c:\scripts\stage2.vbs"

Jedziemy dalej. Żeby zrobić nienadzorowaną instalację SQL 2008 trzeba przygotować response file. Jako, że informatycy są z natury ludźmi leniwymi pozwoliłem, żeby setup MSSQL zrobił go za mnie :) Po wyklikaniu jakie składniki chcemy mieć na komputerze (w procesie zwykłej instalacji – więcej szczegółów tutaj). Jak już mamy plik odpowiedzi, to jedziemy.

stage2.vbs:

Dim WshShell  
Set WshShell = WScript.CreateObject("WScript.Shell")  
’naprawiamy MSDTC – czasami przez zepsuty log instalacja potrafi sie wywalać. polega to na zatrzymaniu usługi MSDTC, wywołaniu msdtc -resetlog i ponownym uruchomieniu MSDTC  
WshShell.run "c:scriptsfixmsdtc.cmd",0,true  
’zatrzymanie usługi Automatic Updates – nie chcemy, żeby jakiś inny setup chodził w tle i nam coś popsuł :)  
WshShell.run "c:scriptsupdatesstop.cmd",1,true  
WshShell.run "P:DbMicrosoftMsSQL2008devsetup.exe /q /CONFIGURATIONFILE=P:DbMicrosoftMsSQL2008devConfigurationFile.ini",0,true  
Wait "setup.exe","Administrator"  
’znów MSDTC – same kłopoty z tą usługą :/  
WshShell.run "c:scriptsfixmsdtc.cmd",0,true  
’autologin do stage 3  
WshShell.run "c:Windowsregedit.exe /s c:scriptsstage3.reg",1,true  
WshShell.run "c:scriptsshutdown.exe -r -t 30 -f"< font color="#000000">,1,false  

Sub Wait (processName, userName)   
 
On Error Resume Next   
 
Dim objProcess  
 
Dim wmi  
 
Dim isRunning  
 
Dim strUser  
 
Dim return  
 
isRunning = True  
 
set wmi=GetObject("winmgmts:")  
    
 
Do While isRunning  
   
isRunning = False  
   
for Each objProcess in wmi.ExecQuery("select * from Win32_Process")  
       
strUser = ""  
       
return = objProcess.GetOwner(strUser)  
       
If return = 0 Then  
           
if UCase(objProcess.name) = UCase(processName) And UCase(strUser) = UCase(userName) then  
               
isRunning = True  
           
End if          
       
End If  
   
Next  
   
wscript.sleep 1000  
 
Loop  
 
wscript.sleep 10000    
End Sub 

No już prawie koniec – jeszcze tylko Visual Studio. I tu zaczynają się schody. Teoretycznie robię to według tej instrukcji http://www.msfn.org/board/index.php?showtopic=117875, ale coś się nie udawało. Troszkę poczytać i wiem, że mój system to WinXP SP3. Ta aktualizacja zawiera już w sobie Windows Installera 3.5, więc trzeba odpowiednie wpisy usunąć z pliczku ini (więcej informacji tutaj). Ale to niestety jeszcze nie wszystko. Próba ciche instalacji się kończy po paru minutach. Wystarczy spojrzeć do Event Viewer-a, żeby zobaczyć, że Windows Installer próbuje zainstalować .NET 3.5. Jako, że już mamy nowszą wersję, to  setup zwraca błąd i sie kończy. Więc znów trzeba grzebać się w pliczku. Usuwamy wpisy dotyczące net framework z [PreInstallOrder], [InstallOrder] i [PostInstallOrder] oraz zmieniamy InstallActionInteger komponentu na 1. Teraz bangladesz :) dzięki temu mamy taki pliczek stage3.vbs:

Dim WshShell  
Set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.run "P:InstalkiMICROSOFTDevelopervisual_studio_2008Setupsetup.exe /UnattendFile P:InstalkiMICROSOFTDevelopervisual_studio_20082008v3.ini",0,true  
Wait "setup.exe","Administrator"  
WshShell.run "cmd /c""echo y|gpupdate /force """,1,true  
WshShell.run "c:winntshutdown.exe -r -t 30",1,false  

Sub Wait (processName, userName)   
 
On Error Resume Next   
 
Dim objProcess  
 
Dim wmi  
 
Dim isRunning  
 
Dim strUser  
 
Dim return  
 
isRunning = True  
 
set wmi=GetObject("winmgmts:")  
    
 
Do While isRunning  
   
isRunning = False  
   
for Each objProcess in wmi.ExecQuery("select * from Win32_Process")  
       
strUser = ""  
       
return = objProcess.GetOwner(strUser)  
       
If return = 0 Then  
           
if UCase(objProcess.name) = UCase(processName) And UCase(strUser) = UCase(userName) then  
               
isRunning = True  
           
End if          
       
End If  
   
Next  
   
wscript.sleep 1000  
 
Loop  
 
wscript.sleep 10000    
End Sub

To by było na tyle :) Działa aż miło :D