Donnerstag, 2. Dezember 2010

Regular Expressions

Man hat eine Playlist in dem Format:
[...]
File50=file:///media/sehrgroB/Musik/Mark%20Knopfler/Get%20Lucky%20Stuttgart%202010/08%20-%20Sultans%20Of%20Swing%20-%20Mark%20Knopfler%20-%20Get%20Lucky%20Tour%20-%20Live%20in%20Stuttgart%20-%2024.06.2010.mp3
Title50=Sultans Of Swing (Stuttgart 2010)
[...]

Und will sie gerne auf einem USB Stick haben.
Lösung:
grep ^File huahuahua.pls | sed -re 's/File.*=file:\/\///g' -e 's/%20/ /g' | while read file; do cp "$file" /media/usbstick/playlist/; done

DANKE Darkman!

Errinnert mich spontan an xkcd:

Donnerstag, 25. November 2010

Großartiges Feature von Powerpoint






So, und das ganze hätte ich jetzt gern bitte noch für alle restlichen MOC Kurse! :-)
Für geschäftliche Präsentationen würde sich auch ein Buzzword Filter ganz gut machen...

Freitag, 24. September 2010

Hobbybeschäftigung im Urlaub: Physikvorlesungen anschauen

Ja, es ist Geeky, aber: ja, es ist mir egal :-)

Nachdem ich den Prof. Harald Lesch mit seinem "Alpha Centauri" / "Leschs Universum" schon durch hab', brauch ich was anderes für die letzte Stunde vor dem Einschlafen. Da ich keinen Fernseher habe, und damit keine Möglichkeit mich hirnfrei von Sendungen zweifehlafter Qualität ("Scripted Reality", Quizshows, sonstigem Müll) berieseln zu lassen, hier ein guter Tipp:

Die University of Berkeley in Kalifornien stellt Physikvorlesungen auf YouTube:
Physics 10 Lectures

Bei so einem Prof. wünsch' ich mir doch direkt die Vorlesungszeiten zurück.

Außerdem sehenswert: Nature by numbers

Samstag, 18. September 2010

Rabatt beim Hardwarekauf

Ich war heute mit 2 Kumpels beim ARLT Hardware kaufen.
Warum auch immer, haben die beiden einen festen Rabatt für Ihre Bestellung von 6% ausgehandelt.

Als die beiden beim Bezahlen waren meinte der Veräufer: Nachdem wir die Rechnungen auf beide Personen splitten, gebe ich beiden einfach einen Rabatt von 3%. Sind zusammen dann ja auch 6%.
Versteinerte Minen bei meinen beiden Kumpels. Ich hab' den Verkäufer natürlich auch nicht für voll genommen und gemeint: "W. - Der macht Spaß! Der weiß selbst dass ein Rabatt als Faktor eingeht, nicht als Summand.".

Ich mache es kurz: Er wusste es nicht.

Ergebnis war: Der Verkäufer hat kein Spaß gemacht und bestand auf seine "Theorie". Zu diesem Zeitpunkt hab' ich mich aus dem Laden verzogen, um nicht

a) Sarkastisch

bzw.
b) WHAT?!
zu werden.

Freitag, 3. September 2010

Headcrash

Wir haben uns die Tage über ein zickendes iSCSI Target gewundert.

Nachdem dann sogar die SW Initator Namen gepasst haben (sonst gibt es - zumindest diesem Target - nur eine LUN mit 512Byte), gab es trotzdem noch Ausfälle ohne Ende.

Folgende Bilder lasse ich unkommentiert. ;-)


Mittwoch, 1. September 2010

Aus aktuellem Anlass... Restricted Groups GPO

Restricted Groups GPO...

Gibt es einmal ersetzend:

...und einmal ergänzend:


Großer Unterschied.


Ergänzend: Alle lokalen Admins, die es vorher schon gab bleiben erhalten. Alle Benutzer die Mitglied der definierten Gruppe sind, werden lokale Admins. Der lokale Admin bleibt immer drin. Domain Admins bleiben immer drin.
Ersetzend: ALLES fliegt raus, danach(!) wird die GPO angewendet, und alle Benutzer kommen in die lokale Admin Gruppe rein. Der lokale Admin bleibt immer drin. Domain Admins bleiben immer drin.

1.) Ergänzend
Effekte:
ändert die Datei  \\<dc>\SYSVOL\gurumeditation.local\Policies\{GPO-GUID}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf im Teil
*S-1-5-32-522__Memberof = ...

=> Restricted Groups GPO (ergänzend) wirkt:
Neue Benutzer innerhalb der definierten Gruppe werden lokale Admins.

=> Restricted Groups GPO (ergänzend) wirkt nicht mehr:
Benutzer, die innerhalb der definierten Gruppe waren, fliegen aus der Lokalen Admin Gruppe raus. Alle Benutzer / Gruppen die vorher lokale Admins waren sind es wieder.

2.) Ersetzend
Effekte:
ändert die Datei  \\<dc>\SYSVOL\gurumeditation.local\Policies\{GPO-GUID}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf im Teil 
*S-1-5-32-522__Members = ...

=> Restricted Groups GPO (ersetzend) wirkt:
ALLE Benutzer bzw. Gruppen die nicht definiert sind fliegen raus.
Multilingual: unter Umständen (wenn man die GPO vom Client aus editiert, nicht vom DC) wird nicht die well-known SID des lokalen Admins (*S-1-5-32-544) sondern der String "Administrator" bzw. beispielsweise im spanischen "Administrador" oder sonstwie in der Datei \\<dc>\SYSVOL\gurumeditation.local\Policies\{GPO-GUID}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf, die effektiv die vom Client angewendete GPO ist, geschrieben. Danach ist es schluss mit lustig, sobald man mehrsprachige Clients hat.

=> Restricted Groups GPO (ersetzend) wirkt nicht mehr:
Benutzer, die innerhalb der definierten Gruppe waren, fliegen aus der Lokalen Admin Gruppe raus. Alle Benutzer / Gruppen die vorher lokale Admins waren sind es wieder.


Fazit: Selbe Wirkungsweise, wenn die GPO nicht mehr wirkt.

Diese Verhaltensweise ist konsistent zwischen Windows XP und Windows 7. Auf die Erwähnung oder gar evaluierung von Windows Vista verzichte ich aus Glaubensgründen sowie massiven Antipathiegründen. ;-)

Siehe auch: Liste der Well-known SIDs

Dienstag, 31. August 2010

Compiz und der Widget-layer


Gerade eben als ich den Widget-layer aktiviert habe, ist auf einmal mein gnome gestorben. Anscheinend nur gnome, denn ich musste mich nicht neu anmelden, als gdm wieder hochkam.
Den Unterschied merkt man relativ einfach: in einer tty
pkill X -> alles stirbt, auch die Session Informationen -> Anmeldebildschirm
/etc/init.d/gdm restart -> Session Informationen bleiben erhalten -> kein Anmeldebildschirm.

Ergebnis war: gnome kam hoch, aber nur halb. Keine gnome-bars und keine Fenster (außer gnome-eigene) wurden erzeugt. D.h. ich konnte den "run"-Dialog mit der Default Tastenkombination Alt+F2 aufrufen, aber egal was ich eingab, es wurde kein Fenster geöffnet. ("ccsm" wäre hier meine Wahl gewesen ;-)

Also ab auf die Suche nach dem Fehler. Wo könnte compiz dieses Widget-plugin abgelegt haben. Ich wollte mich erst mal darum kümmern es nicht mehr zu laden.

Wenn ich selbst nicht weiß wo, lasse ich suchen:

frank@MrPink:~$ find . -iname "*compiz*"
./.config/compiz
./.config/compiz/compizconfig
./.config/ubuntu-tweak/sourcecenter/sourcecenter/logo/compiz-ppa-logo.png
./.config/ubuntu-tweak/sourcecenter/sourcecenter/logo/compiz-ppa-icon.png
./.cache/compizconfig
./.compiz
./.gconf/apps/compiz
frank@MrPink:~$

./.config/compiz/compizconfig/config sah vielversprechend aus (daher im find kein -type f, bin in der Hinsicht gnome %gconf.xml geschädigt).
War es aber nicht:
[gnome_session]
profile =
plugin_list_autosort = true


[general]
profile =
plugin_list_autosort = true

config (END)

nächster Versuch wäre die Default.ini:
[core]
as_active_plugins = core;gnomecompat;mousepoll;dbus;place;svg;imgjpeg;png;neg;commands;session;vpswitch;text;resize;regex;workarounds;resizeinfo;decoration;obs;animation;wall;fade;snap;move;expo;scale;ezoom;scaleaddon;staticswitcher;

Bingo!
... denkste!

Kein Hinweis auf "*widget*" oder ähnliches.
Naja, as_active_plugins = <leer> wird's richten.
... denkste!

kurzum: compiz war es relativ egal, ob die Datei da und leer, da mit as_active_plugins = <leer> oder überhaupt nicht da war. Das Verhalten blieb gleich.

Also doch wieder ab in die verhasste %gconf.xml-Hölle:
frank@MrPink:~/.gconf/apps/compiz$ grep -rHi widget *
general/allscreens/options/%gconf.xml:<stringvalue>widget</stringvalue>
frank@MrPink:~/.gconf/apps/compiz$
Aha!
 
                <li type="string">
                        <stringvalue>widget</stringvalue>
                </li>

Einfach rauschlöschen? Ging. Hat man halt kein widget-Plugin mehr, das nicht geht. Kann ich mit leben.

Die einfache Methode wäre im Übrigen gewesen: in das "run"-Fenster "compiz --replace" einzugeben, und das Plugin dann über den ccsm auszumachen. Aber das wäre zu einfach gewesen. ;-)

Donnerstag, 19. August 2010

Must Have Linux Programme

Meine wertungsfreie, persönliche und unvollständige Liste:

  • gtk-recordmydesktop (Screencasts)
  • mplayer
  • vlc
  • rhythmbox
  • nautilus-image-converter (Rechtsklick auf Bild: Resize, crop, turn)
  • tsclient (rdp)
  • libdvdcss2 (DVDs...)
  • kdiff3 (diff mit GUI)
  • easytag (mp3 Tags)

Praktische SCCM Collection

Viele meiner Kunden verwenden Active Directory Gruppenmitgliedschaften von Computerobjekten, um Software auszurollen.
Das ist ein alter Hut:

Viel interessanter fand ich Collections zu bauen, die mir einen Überblick geben welche Computer nicht aktuelle Software haben. Dagegen kann man dann wunderbar Programme zum Aktualisieren advertisen. Hier am Beispiel von Adobe Reader:



Das ist immer ein wunderbarer Zeitpunkt um mal auf "Value..." zu klicken und schauen was die Hardwareinventur denn so an installierter Software gesammelt hat. ;-)

Sonntag, 15. August 2010

megacli

Eins vorweg: Sollte ich jemals euch, die Programmierer dieser absolut intuitiv bedienbaren und benutzerfreundlichen Software nachts in angeheitertem Zustand und mit einer Brechstange in der Hand treffen: RENNT!


Eine Platte aus meinem RAID-5 ist angeblich gestorben. Also gut, ohne das megacli cheat sheet geht erstmal gar nichts: megacli / PERC cheat sheet
Nachdem ich ein DELL PERC 5/i in meinem Mainboard stecken habe muss folgendes dazu erwähnt werden: Die DELL PERC-Karten sind nichts anderes als LSI-RAID Karten mit einem DELL Aufkleber drauf. Deshalb kann man auch die "LSI megacli" benutzen, um den Controller und alle RAID-Volumes darauf zu administrieren.

Allein die Freundlichkeit mit der einem dieses Tool begegnet ist unbeschreiblich:
frank@MrPink:~$ ./MegaCli64
Fatal error - Command Tool invoked with wrong parameters
Exit Code: 0x01
frank@MrPink:~$
Es geht aber noch weiter, jeder normale Mensch denkt, ok - mal nach --help fragen, aber nein: ihr habt die Rechnung ohne die diablolischen LSI-Programmierer gemacht, die sich - laut Erzählungen - beim Erstellen der "Usability Guidelines" alle morgens gleichzeitig ihre Finger in der Duschkabine eingeklemmt haben... und mit entsprechend guter Laune ans Werk gegangen sind. Das ganze wird im "Hitchhiker's Guide to the Galaxy" als "Größte Katastrophe nach der Zerstörung von Melmac" erwähnt werden. Dort waren es zwar nur Föns die gleichzeitig eingeschaltet wurden, aber die Auswirkung auf die Lebewesen war ähnlich verheerend.
frank@MrPink:~$ ./MegaCli64 --help
Invalid input at or near token -                                          

Exit Code: 0x01
 Zu deutsch: "Das glaubst auch nur du..."

Glücklicherweise gibt es ja das Cheat sheet. Und Google.

Quintessenz eines HowTos war dann man müsse nur die entsprechende EnclosureID herausfinden, die braucht man später für das Ersetzen der kaputten Festplatte.
Ergebnis bei mir war:
frank@MrPink:~$ sudo ./MegaCli64 -pdList -a0 | grep -i enclosure
Enclosure Device ID: N/A
Soweit sogut. Ich wusste eben nur nicht wie ich jetzt dieser großartigen Software hätte sagen sollen dass sie das physikalische Device an der Adresse [EnclosureID:DiskID] austauschen soll. Syntax war:
./MegaCli64 -PdReplaceMissing -PhysDrv[$EnclosureID:$DiskID] -array1 -row1 -a0
Versuch:
root@MrPink:~# ./MegaCli64 -PdReplaceMissing -PhysDrv[00:06] -array1 -row1 -a0
                                    
Adapter 0: Device at Enclosure - 0, Slot - 6 is not found.

Wollte also nicht so wirklich.
Für eine Sekunde habe ich mit folgender Kommandozeile im Kopf gespielt:
for i in `seq -w 01 99`; do ./MegaCli64 -PdReplaceMissing -PhysDrv[$i:06] -array1 -row1 -a0; done;

War dann aber auch nicht der Stein der Weisen.
Irgendwann zwischen Verzweiflung und Hass habe ich folgendes ausprobiert:
root@MrPink:~# ./MegaCli64 -PdReplaceMissing -PhysDrv[:06] -array1 -row1 -a0
                                    
Adapter: 0: Missing PD at Array 1, Row 1 is replaced.

Vollkommen intuitiv.

Truecrypt auf 10.4

Manchmal sollte man einfach nicht immer dem 1. Google Hit trauen.
Ich wollte meine cryptkeys für mein System und das daran angeschlossene RAID sichern.

Google Query: http://www.google.com/search?client=ubuntu&channel=fs&q=truecrypt+ubuntu&ie=utf-8&oe=utf-8
1. hit: http://ubuntuforums.org/showthread.php?t=149561

Da bin ich erstmal rückwärts vom Stuhl gefallen. Bis ich die Zeile:
tar xvfz truecrypt-4.1-source-code.tar.gz
gelesen habe.
Alles klar, kompilieren will ich das Teil nicht, nur benutzen. Die Gentoo-Zeiten ruhen in Frieden und sind vorbei.

Download -> unzip -> chmod +x -> tar xvfz truecrypt-4.1-source-code.tar.gz -> ./truecrypt-7.0-setup-x64

...man kann es natürlich auch umständlich haben. Siehe oben.

SCCM und Upgrade des darunterliegenden Betriebssystems

Letzte Woche habe ich ein Windows Server 2003 zu einem Windows Server 2008 machen sollen. Die SCCM Installation darauf sollte weiterlaufen.


Ein In-Place Upgrade des Betriebssystems ist von den SCCM-Jungs bei MS nicht unterstützt, also bin ich folgendermaßen vorgegangen:
Nun folgen die einfachen 21 Schritte des Upgrades ;)
  1. Backup der alten SCCM Site auf dem 2003er Server
  2.  Neuinstallation eines blanken Windows Servers 2008
  3. SQL Server 2005 (Kunde wollte es so) installiert, die Kompatiblitätswarnung weggeklickt und installiert
  4. SQL 2005 SP3 installiert (und damit wieder supportet gewesen)
  5. SCCM Voraussetzungen schaffen auf Server 2008:
  • Features: BITS + Remote Differential Compression + den vorgeschlagenen Abhängigkeiten für BITS installiert
  • IIS Feature Selection: Security: Windows Authentication, Application Development: ASP.NET (+ASP wenn Reporting Point), Management Tools: IIS6 WMI Compatibility
  • Wenn BITS DP: WebDAV herunterladen und installieren: http://go.microsoft.com/fwlink/?LinkId=108052
  • inetmgr.exe -> WebDAV anmachen. In meinem Fall für die "Default Web Site".
  • Im inetmgr Authoring Rules hinzufügen: "Allow Access to All Content for All users: Read"
  • WebDAV Einstellungen:     Allow Anonymous property queries: True
        Allow Custom properties: False
        Allow property queries with infinite depth: True

    %windir%\System32\inetsrv\config\applicationHost.config
        <requestfiltering> (Dritter Hit) -> Für alle Dateiendungen die auf dem BITS-MP liegen: True

    Meine Liste:
    <add fileExtension=".exe" allowed="true" />
    <add fileExtension=".msi" allowed="true" />
    <add fileExtension=".zip" allowed="true" />
    <add fileExtension=".tar" allowed="true" />
    <add fileExtension=".bat" allowed="true" />
    <add fileExtension=".vbs" allowed="true" />
    <add fileExtension=".cmd" allowed="true" />
  • Apply + iisreset
  • Die WSUS Konsole installieren
  • Den SQL 2008 Report Viewer installieren (kommt bei der WSUS Installation am Ende als Hinweis)

     6. SCCM mit demselben Site Code wie der alte 2003er Server installieren, den man hoffentlich schon vom Netz genommen hat.
 
     7. Peinlich genau darauf achten dass man dieselben Einstellungen und vor Allem dieselben Pfade verwendet (weil man ja später das Backup vom SCCM auf 2003 über den Site Repair Wizard einspielen möchte)

     8. Sich darüber wundern warum im MPSetup.log steht dass er den Management Point leider nicht installieren kann weil SCCM die WebDAV Settings nicht so vorfindet wie SCCM es sich vorstellt


     9. SCCM Toolkit v2 herunterladen und den MP Troubleshooter ausführen

     10. vom MP Troubleshooter gesagt bekommen: WebDAV Config: Daumen hoch! Alles klar!

     11. Kopf -> Tisch

     12. Google fragen und sehen es gibt Menschen mit demselben Problem, die aber vorschlagen das Schema zu ändern:  http://www.ithastobecool.com/2009/06/24/sccm-2007-r2-on-server-2008-weird-webdav-errors-on-mp-installation/

    13. Beschließen dass das keine gute Idee ist und sich auf die Suche nach den Einstellungen in der applicationHost.config begeben.

    14.  Die Einstellungen vermissen und von Hand
das:

    <location path="Default Web Site">
        <system.webServer>
            <webdav>
                <authoring enabled="true">
                </authoring>

in das:
<location path="Default Web Site">
        <system.webServer>
            <webdav>
                <authoring enabled="true">
                    <properties allowAnonymousPropfind="true" allowInfinitePropfindDepth="true" allowCustomProperties="false" />
                </authoring>
änden

    15. iisreset und den SMS_SITE_COMPONENT_MANAGER durchstarten

    16. Der Management Point Installation im MPSetup.log zuschauen (*puh*)

    17. Über den Site Repair Wizard die alte Konfiguration importieren
    18. Dem Site Repair Wizard beim auf die Nase fliegen zuschauen, wenn er bei "Stopping Services" ist.

    19. Herausfinden dass es Virenscanner gibt, die sich nicht so einfach stoppen lassen und den Kunden (Admin) den Virenscanner "tmscan" mit einem Passwort beenden lassen

    20. Der Site Repair Wizard läuft bis zu "Importing Registry Settings" durch und fällt dann auf die Nase weil wohl irgendwelche Hives gelockt wären

    21. In der %SCCM_INSTALL_DIR%\inboxes\smsbkup.box gibt es das Backup Control File "smsbkup.ctl". Da steht drin welche Registry Hives wohin gebackupt werden:

# DO NOT MODIFY - Default Registry backup tasks - DO NOT MODIFY:#
#----------------------------------------------------------------------
# Site Server
reg \\%SITE_SERVER%\HKEY_LOCAL_MACHINE\Software\Microsoft\NAL            %SITE_SERVER_DEST%\SMSbkSiteRegNAL.dat
reg \\%SITE_SERVER%\HKEY_LOCAL_MACHINE\Software\Microsoft\SMS            %SITE_SERVER_DEST%\SMSbkSiteRegSMS.dat

 Nachdem ich also wusste welche zwei Hives wohin müssen hab ich einen Export der aktuell auf dem 2008er Server vorhandenen Hives gemacht und diese mit WinDiff gegen die Backup-Dateien des 2003ers verglichen. Es waren Kleinigkeiten, die ich dann in ein .reg mit Copy & Paste verfrachtet habe. Ein Import der daraus resultierenden .reg hat die Sache dann gerichtet . Dann waren seltsamerweise diese Hives nicht mehr gesperrt.

Optionale Stelle zum auf die Nase fliegen:
Wenn man eine Site Hierarchie hat, muss man dafür Sorge tragen dass das neue Computerkonto auch in die lokale Gruppe "SMSSiteToSite Connection" der anderen Site Server kommt. Sonst klappt die Sache mit dem Zertifikatstausch nicht: Die .CT6-Datei wird zwar an die Parent Site übertragen, diese importiert das Zertifikat aber nicht sauber in die hman.box, sondern es bleibt als ein temporäres Zertifikat dort liegen.

Ich glaube das waren alle Stolpersteine ;-)
Geklappt hat's am Ende dann doch noch.

Vielen Dank an WSA und MGL an dieser Stelle fürs
a) Händchen halten
b) Super Wertvolle Tipps geben und
c) Tolle Kollegen sein!

Erster Eintrag

Dieses Blog beschäftigt sich primär mit IT und dem täglichen Wahnsinn dahinter.

Ich bin Consultant für Microsoft-und VMware-Technologie und gebe hier meine Erfahrungen und Ansichten zum Besten.

Zusätzlich gibt es ausfewählte Einblicke in mein durchaus zufriedenes Leben mit Linux auf meiner Workstation zuhause.