urzędzenia niemobilne

jakiś miesiąc temu dostałem HTC compact IV – czyli MDA z Ery, zrobione na HTC diamond przez T-Mobile. bardziej po ludzq: dostałem swój pierwszy PocketPC na Windows Mobile. do tej pory moja znajomość takich urządzeń sprowadzała się do konfiguracji ActiveSync i Outlook – bo to było mi potrzebne do projektów Exchange/UC. wcześniej używałem Nokii N7o na Symbianie i przez ostatnie 2 lata twierdziłem, że to najgorszy telefon jaki miałem w życiu – trudno sobie wyobrazić coś wolniejszego, głupio zaprojektowanego [nieergonomiczny interfejs pełen niedociągnięć] i częściej zawieszającego się – bo ta Nokia to prawdziwa porażka pod każdym względem. po otrzymaniu HTC musiałem zrewidować swoją opinię – jak się okazało nie jeden raz w ciągu tego miesiąca. nie przypominam sobie żebym kiedykolwiek tyle klął, co przez pierwsze dwa tygodnie używania HTC z WMobile. już miałem oddać urządzenie i wziąć starego soniacza ale… zabrakło mi czasu na przeniesienie kontaktów, potem się zawziąłem i nakierowany przez jenixa i wasyla przestudiowałem trochę xda-devels doprowadzając to urządzenie do jako-takiego działania.

początkowo miałem ochotę usiąść do w-files i wylać to z siebie, ale jenix to zrobił tu oraz tu i na pewno dużo qlturalniej niż ja byłbym w stanie to napisać – zwłaszcza w tym okresie. w związq z tym postanowiłem zrobić odwrotnie – aby oszczędzić kilq osobom trochę nerwów, czasu a być może i pieniędzy, postanowiłem skrobnąć kilka słów dla mobile-noobów, do których się do niedawna zaliczałem. taki quick-start do windows mobile.

Art można znaleźć w sekcji Artykuły i wkrótce powinny się tam pojawić jeszcze dwa odcinki – paula pisze o sieciowości w WM a jenix o różnych toolach, trickach etc. mam nadzieję, że wkrótce będą dostępne, bo sam jeszcze trochę muszę się w tym temacie podszkolić (:

krótka opinia: windows mobile to najgorsze dziecko z rodziny windows, które nawiązuje do najniechlubniejszych tradycji microsoftu z wczesnych lat 9o’. podobno jeden z w-filesowców wyrzucił telefon przez okno a ja byłem bliski tego. a więc – jeśli nie miałeś wcześniej do czynienia z WM – najpierw zapoznaj się z tym artem.

n.

IIS FTP 7.5

Miałem okazję bawić się wersją 7.o jeszcze w becie w2k8. Potem jakoś długo nie miałem potrzeby do niego siadać, aż w końcu dostałem zadanie konfiguracji w produkcji. realne scenariusze są zawsze dobrym testem i ten ftp go nie przeszedł. niewątpliwie nie ma porównania z tym czymś, co było do wersji w2k8 [oficjalnie – bo 7.o trzeba było zassać z iis.net]. wersja 7.5 nie zmieniła wiele, ale jak można przeczytać – podstawową zmianą jest rozszerzalność [extensibility], więc może powstaną jakieś sensowne modyfikacje.

jest FTPS. jest nowy interfejs spójny z całym IIS [i działa appcmd]. jest możliwość skorzystania z kont asp.net. i nie ma nic z tego, co od lat pamiętam z opensourcowych serwerów typu proFTPd czy glFTPd. ta usługa zawsze była totalnie zaniedbana i taka nadal pozostała.

Czego braqje:

  • najmniej ważny szczegół – przy ustawieniu listingu unix-style zawsze zwracane jest “rwxrwxrwx” – bez względu na realne uprawnienia
  • izolacja użytkowników jest, ale dla wszystkich lub nikogo – totalna głupota
  • nie ma możliwości zdefiniowania katalogu domowego użytkownika – jest to na sztywno localuser%username%
  • brak możliwości definiowana katalogu domowego dla grupy
  • dodatkowy poziom zabezpieczeń w konfiguracji FTP [poza NTFS] niewiarygodnie granularny: są uprawnienia read i write lol O_o.
  • i setek parametrów typu komunikat per user, bandwith control, ratio i tak dalej… ale to szczegóły (;

tyle ile rzuciło mi się przez kilka godzin, które spędziłem na wymyślaniu obejścia tych niedogodności. Scenariusz:

jest sobie jakaś struktura katalogów jeszcze z ftp na wersji 2k, dość złożona, dodatkowo share’y – generalnie klient nie za bardzo chciałby to restrukturyzować, ograniczony czas blablabla.. komputer nie jest w domenie z różnych względów i część użytkowników musi mieć dostęp tylko do własnego katalogu. piqś. jak się okazuje nie dla iis bo izolację kiedy się włączy, to jest dla wszystkich no i nazwa katalogu domowego jest niedefiniowalna. początkowo obejście było dość proste:

  • obok istniejącej struktury katalogów założyłem nowy katalog – “extFTP” a w nim bez-sensu-obligatoryjny “localUser”
  • w ftp włączyłem izolację
  • pozakładałem katalogi virtualne dla userów [bez-sensu-z-taką-samą-nazwą-jak-user]

so far so good. ponieważ userzy są wyizolowani nie widzą, że zmieniły im się nazwy katalogów. problemem jest teraz zrobienie dostępu dla użytkowników .. powiedzmy superusers, którzy mają mieć dostęp do całej struktury. ponieważ nie ma możliwości ustawienia katalogu domowego dla grupy są dwa wyjścia – albo dodatkowy ftp [inny port/inne ip/inny header], albo zakładać katalogi dla wszystkich userów. pierwsza opcja w tym przypadq nie mogła być wykonana [niemożna zarejestrować nazw/jedno ip/nie może być innego portu], pozostaje tylko zakładanie katalogów. w tym przypadq miałem szczęście bo userów było niewielu, ale przy bardziej złożonych scenariuszach… no generalnie co za kretynizm z tymi katalogami domowymi… uff.. no i ta wymuszona ścieżka – mam nadzieję, że jest na to jakiś hack i da się to jakoś zmienić, ale nie udało mi się takiej informacji póki co znaleźć. dzięki katalogom wirtualnym, superuserzy widzą całą strukturę tak, jak dotychczas – homedir każdego z nich był vdirem wskazującym na starty rootftp. w uproszczeniu struktura wygląda teraz tak:

image

no i te dziwne uprawnienia – oczywiście najfajniejsze w ftp windowsowym było zawsze to, że dostęp ustawia się za pomocą uprawnień NTFS. proste, jasne, granularne, dobrze znane, spójne z całym systemem. w nowym ftp pojawia się dodatkowy poziom – FTP Authorization, w którym można zdefiniować usera/grupę i nadać mu [allow] lub odebrać [deny] jedno z dwóch uprawnień – read lub/i write. wprowadza to niejasność i w sumie podszedłem to tego tak, jak z shareami – full dla wszystkich na udziale i przycinanie uprawnień na poziomie NTFS. domyślam się, że nadawanie z poziomu ftp przydaje się, kiedy używa się ról/userów asp.net bo w takim przypadq NTFS nie jest w stanie odróżnić kto jest kto – ale nie podoba mi się jak to zostało zaprojektowane [np, taka opcja mogłaby być tylko wtedy, kiedy z takich userów się korzysta]. no i podczas wpisywania nazw grup/userów nie ma opcji ‘browse’ więc trzeba uważać na literówki – jakby trudno było zrobić dodatkowy guziczek…

nie miałem czasu rozglądać się czy są jakieś rozszerzenia do FTP 7.5 – być może da się z tym zrobić coś więcej. to co oferuje standardowo pozostawia sporo do życzenia.

n.

System Center Configuration Manager.next

Na MMS 2009 Bill Anderson and Josh Pointer zaprezentowali następną wersję mojego drugiego ulubionego produktu M$ (po Forefrontach ;P ) – SCCMa. Od razu rzucili parę nowości:

  • Konsola zarządzająca nie jest oparta o MMC – NARESZCIE nie trzeba co chwilę naciskać F5 :D
  • Wszystkie komponenty serwerowe są przeznaczone na platformę x64, z wyjątkiem:
  • Branch distribution point
  • Standard DP’s on windows 2003 machines 32-bit
  • SQL Server 2008 tylko w wersji x64
  • Raportowanie tylko za pomocą Reporting Services – staroć z czasó SMSa ma zniknąć – BTW może wreszcie będzie można oglądać raporty w czymkolwiek oprócz IE…
  • Wykorzystanie replikacji SQL
  • State-based DP groups – czyli automatyczne usuwanie i dodawanie zasobów do Didtribution Pointów na podstawie członkowstwa grup
  • Remote Control z możliwością wysłania Alt-Ctrl-Del
  • Security oparte na rolach – użytkownicy widzą tylko te fragmenty konsoli do których mają uprawnienia
  • Możliwość odpalenia więcej niż jednej konsolki na raz
  • Własny system alertów i powiadomień – zastanawiający jest brak współpracy z UpsManagerem (SCOM)…
  • Nowości w OSD
    • dokładanie hotfixów do przygotowanych już obrazów systemów – do tej pory trzeba było łapać nowego WIMa
    • Możliwość tworzenia OEM disks
    • Dodatkowe sekwencje dla OSD dostępne z GUIa ze wsparciem USMT ver. 4 – ta funkcja będzie już w SCCM 2007 SP2, nowością będzie uruchamianie USMT nawet w środowisku WinPE
  • Limitowanie zużycia łącza per Distribution Point (do tej pory było to tylko możliwe per Site)
  • Premiery nowej wersji SCCMa nie ma co się spodziewać w ciągu najbliższych miesięcy. Grupa produktowa ma zamiar przeprowadzić jeszcze co najmniej 12 case studies, ale patrząc po tym przeglądzie warto czekać:)

    Źródło: http://www.techlog.org/archive/2009/04/29/mms_2009_information_about_mic

    Stirling Beta 2 VHD

    Wczoraj ściągnąłem sobie wirtualne laby do nowego Forefronta. Dziś je odpaliłem i jakież było moje zaskoczenie jak ujrzałem bardzo ładny setup (do tej pory ściągałem pliki VHD i dodawałem je do Hyper-V)

    image

    Zarejestrowało mi wirtualki na Hyper-V, każda ma undo snapshot. Ogólnie najs :)

    image

    Ale najlepsze jeszcze przed nami. Pliczek Stirling-lab (Start Page).vbe daje parę fajnych możliwości :)
    W widoku ogólnym pokazuje całą infrastrukturę

    image

    Dla zainteresowanych tylko Client Security (czyli ja ;P ) jest Widok FCS:

    image

    Zabezpieczenie serwerów:

    image

    No i Edge Security:

    image

    Oczywiści jeszcze możliwość naprawienia jak coś popsuliśmy (nałożenie Snapshotu):

    image

    Każda maszyna po najechaniu na nią myszą jest ładnie opisana:

    image 
    image
    image
    image 
    image
    image 
    image

    Co więcej – po kliknięciu w taką maszynkę, uruchamia się ona i od razu jesteśmy do niej podłączani :) Podsumowując jestem pod sporym wrażeniem i zachęcam do testowania :)

    Backup SVN (Windows + Apache)

    Jako, że nie da się backupować bezpośrednio repozytorii SVN będących on-line, trzeba było napisać prosty skrypt, który najpierw zrobi ich hotcopy a dopiero potem backup na zadaną lokalizację sieciową. Zamiast robienia backup set i używania ntbackup można spakować cały folder docelowy i przegrać go zwykłym xcopy, w sumie wyjdzie na to samo a pewnie będzie szybciej i prościej do odzyskiwania.

    Środowisko:
    Windows Server 2003
    Apache 2.2 z modułem SVN

    ' SVNbackup.vbs
    ' Backups all SVN repositories from selected directory + Apache config
    ' Author Kuba Siatkowski https://w-files.pl/author/kfaz
    ' ver 1.0.1


    optionexplicit Const FOR_READING = 1 Dim strReposFolder, colReposFolders, strBackupFolder, colBackupFolders, strBackupLocation, strApacheLocDim objFSO,WshShell, objReposFolder, objBackupFolder, objSubFolder, objSubBackupFolder, strBackupset, fileBackupset

    strReposFolder = "C:RepositorySVN"                                 ' place where all SVN repos are
    strBackupFolder = "C:backup"                                      ' temp folder for local backups
    strBackupLocation = "\backupserverbackupsharebackupname.bkf"     ' place for backups
    strApacheLoc = “C:Apache” ‘apache directory (SVN configs, plug-ins etc)
    strBackupset = strBackupFolder&“backupset.bks”


    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set objReposFolder = objFSO.GetFolder(strReposFolder)
    Set colReposFolders = objReposFolder.SubFoldersSet
    objBackupFolder = objFSO.GetFolder(strBackupFolder)
    Set colBackupFolders = objBackupFolder.SubFoldersSet
    fileBackupset = objFSO.CreateTextFile(strBackupset, True)

    'delete old backups from temp folder
    For Each objSubBackupFolder In colBackupFolders


    objSubBackupFolder.Delete True

    Next

    ‘hotcopy all repos from reposdir and create backupset
    For Each objSubFolder In colReposFolders

    WshShell.run "svnadmin.exe hotcopy "&strReposFolder&""&objSubFolder.Name&" "&strBackupFolder&objSubFolder.Name, 1, true
    fileBackupset.WriteLine ""&strBackupFolder&objSubFolder.Name&""

    Next

    'add Apache to backupset
    fileBackupset.WriteLine ""&strApacheLoc fileBackupset.close ‘do the backup
    WshShell.run "ntbackup.exe backup @"&strBackupset& " /n ""SVN Repos “&Now&""" /v:yes /r:no /rs:no /hc:off /m normal /j ""SvnBackup""/l:s /f "&strBackupLocation, , true

    Spotkanie ze Stevem B.

    Spotkanie, spotkanie i po spotkaniu. Jak wrażenia? Koleś ma niesamowitą charyzmę. Filmiki w sieci nie oddają mu sprawiedliwości. Ogólnie na podsumowanie mam jedno zdanie – “Awesome, Baby!” ;)

    PS. Tak – to ja krzyczałem “Awesome” z publiczności ;P