TechNet Team Blog Austria

Informationen und News abseits der offiziellen TechNet vom TechNet Team Blog Austria

TechNet Team Blog Austria

  • DreamSpark - Software gratis für Studenten

    Microsoft ermöglicht Studenten *gratis* professionelle Entwickler-Software einzusetzen. Und zwar keine 30-Tage Testversionen, sondern die "richtigen" Produkte in vollem Umfang. Das sorgt für den direkten Einstieg in das Arbeiten mit den Profi-Tools.

    Um welche Software geht es:

    Visual Studio 2008 Professional Edition Windows Server 2003 Standard Edition

    SQL Server 2005 Developers Edition Expression Studio

    Außerdem noch, um "spielerisch" den Zugang zu finden:

    xna1 xna2

    Aktuelle Produkte kommen dann nach und nach dazu, z.B. Windows Server 2008 "in a few weeks".

    Wie kann man teilnehmen:

    Man braucht dazu eine Windows Live ID und eine Berechtigung, dazu gleich mehr. In Deutschland gibt es bereits einige Universitäten, die direkt bei Dreamspark teilnehmen. Das hat den Vorteil, dass die Überprüfung direkt geschieht, ob man denn nun wirklich Student ist.

    captured_Image.png

    In Österreich (und Deutschland, sofern man "seine" Uni nicht aufgelistet sieht) braucht es einen ISIC Ausweis.

    ISIC?

    Das ist der internationale Studentenausweis bzw. International Student Identity Card (ISIC):

    erstebank_card[1]Diese bekommt man in Österreich als Student bei STA Travel. Information darüber unter: http://www.isic.at/tp3/index.php?id=47 Angeblich gehts am schnellsten, wenn man zu einer Ausgabestelle direkt hingeht.

    Sonst ist es ein etwas seltsamer Prozess per Snail-Mail und 10 EUR in bar im Brief,... siehe Antragsformular.

    Tja, bis auf die Hürde, wenn man keinen ISIC Ausweis hat, ... ziemlich gutes Angebot!

    Zu Dreamspark.

  • Windows 8.1 Editionen vergleichen

    Seit etwa zwei Tagen stehen Windows 8.1 Enterprise und Windows Server 2012 R2 für MSDN Abonnenten zum Download bereit. Microsoft hat sich letztlich doch dazu entschlossen, die neuesten Windows RTM-Versionen 8.1 und Server 2012 R2 für Microsoft Partner vor dem offiziellen Start (GA) am 18. Oktober bereitzustellen, siehe Windows 8.1 RTM und Windows Server 2012 R2 RTM sind im TechNet verfügbar!

    Win8_Cyan_D_rgb

    Um den Unterschied der vier Versionen Windows RT 8.1, Windows 8.1 Edition, Windows 8.1 Pro Edition und Windows 8.1 Enterprise Edition zu sehen, hilft diese HTML-Tabelle:

     Compare Windows 8.1 Editions

    Feature name

    Windows RT 8.1 Windows 8.1 Edition Windows 8.1 Pro Edition Windows 8.1 Enterprise Edition
    User experience        
    Apps launch other apps (new) x x x x
    Customize multiple tiles at once (new) x x x x
    Lock screen photo slide show (new) x x x x
    Four tile sizes (new) x x x x
    Microsoft account login x x x x
    Multiple instances of same app (new) x x x x
    Open up to four variable sized windows at once (new) x x x x
    Optional boot to the desktop/All apps screen/Start screen (new) x x x x
    PC Settings improvements (new) x x x x
    Portrait mode improvements (new) x x x x
    Search powered by Bing (new) x x x x
    Set the desktop wallpaper as Start background (new) x x x x
    The Start button (new) x x x x
    The Start screen and live tiles x x x x
    Touch keyboard and thumb keyboard x x x x
    Apps        
    Automatic app updates from Windows Store (new) x x x x
    Built-in apps (Mail, Calendar, People, and more)i x x x x
    Install and run desktop apps (x86/x64)   x x x
    Internet Explorer 11 (new) x x x x
    Microsoft Office Home & Student 2013 RT includedii x      
    Windows Media Playeriii   x x x
    Windows Store x x x x
    Xbox SmartGlassiv with Play To / Play On x x x x
    Devices and peripherals        
    3D printing support (new) x x x x
    Biometric enrollment (new) x x x x
    InstantGo v x x x x
    MiraCast wireless display support (new) x x x x
    Mobile hotspot / Wi-Fi tethering (new) x x x x
    Multiple monitor improvements (new) x x x x
    Storage Spaces   x x x
    Wi-Fi Direct wireless printing support (new) x x x x
    System        
    CPU Sockets 1 1 2 2
    Maximum RAM vi 4 GB 128 GB 512 GB 512 GB
    Mount ISO / VHDs x x x x
    Reset and refresh your PC x x x x
    Switch languages on the fly (Language Packs) vii x x x x
    VHD boot     x x
    Windows Update x x x x
    Management        
    Assigned access (new) x   x x
    Client Hyper-V     x x
    Device enrollment (new) x x x x
    Domain Join     x x
    Exchange ActiveSync x x x x
    Group Policy     x x
    Open MDM support (new) x x x x
    Sideloading LOB apps <sold separately >   <sold separately > x
    Start screen controlviii(new)       x
    Windows To Go Creator       x
    Work folders (new) x x x x
    Workplace join (new) x x x x
    Security        
    AppLocker       x
    Binary extension scanningix x x x x
    BitLocker and BitLocker To Go     x x
    Device Encryptionx x x x x
    Family Safety x x x x
    Multi-factor authentication for BYOD (new) x x x x
    Picture password x x x x
    Remote business data removal (new) x x x x
    Trusted Bootxi x x x x
    Windows Defenderxii x x x x
    Windows SmartScreen x x x x
    Networking        
    BranchCache       x
    Built-in VPN clientsxiii x x x x
    DirectAccess       x
    Remote Desktop (client) x x x x
    Remote Desktop (host)     x x
    VDI enhancements       x

    …und noch das Kleingedruckte dazu:

    i - At Preview, this includes: Alarms, Calculator, Calendar, Camera, Finance, Food & Drink, Games, Health & Fitness, Mail, Maps, Music, News, People, Photos, Reader, Reading List, SkyDrive, Sound Recorder, Sports, Travel, Video, and Weather; final list still being determined for GA
    ii - Includes Word, Excel, PowerPoint, OneNote, and Outlook; certain features, macros, add-ins, and other custom programs may not work on Windows RT 8.1; for further details, please go to http://office.com/officeRT
    iii - Watching DVD movies on Windows 8.1, Windows 8.1 Pro, and Windows 8.1 Enterprise Edition requires separate playback software; Windows RT 8.1 does not support DVD movie playback
    iv - Xbox SmartGlass available as download in the Windows Store
    v - Enabled on all editions that meet InstantGo certification requirements, at OEM discretion (named “connected standby” in the Windows 8 editions)
    vi - 32-bit versions support up to 4GB
    vii - Language switching is not included in Windows 8.1 single language versions
    viii - Start screen control can be enabled in Windows RT 8.1 with side loading key
    ix - Internet Explorer scans binary extensions (ActiveX for example) before running using the anti-malware solution
    x -Device encryption is automatically enabled on InstantGo certified devices after first login with Microsoft Account
    xi - Trusted Boot requires TPM
    xii - Windows Defender now includes network behavior monitoring
    xiii - VPN now includes auto-triggered VPN and 3rd party built-in VPN clients in addition to Microsoft VPN client

    Quelle: Compare Windows 8.1 Editions

    Viel Spaß mit Windows 8.1 … ich geh jetzt Enterprise Edition auf meiner Maschine installieren!

  • SQL Server: The transaction log for database is full

    Schön ist, wenn man als Datenbank-Administrator ein ruhiges Leben führen kann: Dann, wenn alle Datenbank-Wartungen gescriptet sind und automatisch laufen. So müssen nur zeitweise die Logs durchgesehen werden und die administrativen Tätigkeiten sind sehr gering (Tipp: Siehe übrigens auch Microsoft Codename Atlanta – SQL Monitoring Teil 12 und  3). Allerdings kann es dennoch manchmal Situationen geben, wo eine Datenbank “steht”.

    Die Datenbank “steht”

    Das kann beispielsweise eintreten, wenn das Transaction Logfile einer Datenbank so groß wird, dass kein Platz mehr auf der Festplatte vorhanden ist – und die Datenbank nicht mehr funktioniert – zu mindestens alle Datenoperationen nicht mehr. SQL Server markiert dann die Datenbank oft als fehlerverdächtig (suspect).

    “Warum wächst ein Datenbank Logfile so stark?”

    Diese Frage haben sich schon viele Administratoren gestellt. Die Datenbank ist vielleicht winzig, aber das Logfile dazu wächst und wächst und wächst… die Analogie zur Duracell-Batterien Werbung drängt sich auf…

    Dazu möchte ich hier ein wenig Einblick geben und auch Lösungen liefern, vor allem, wenn Sie eine solche Fehlermeldung erhalten oder im Log finden:

    …failed with the following error: "The transaction log for database <dbname>' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

    Aber schön der Reihe nach.

    Die Beteiligten

    Eine SQL Server Datenbank besteht immer aus (mindestens ) zwei Dateien:
    Einem Datenbank-File z.B. <dbname>.mdf und einem Transaction-Logfile <dbname>.ldf.

    db_files

    Übrigens: Zusätzlich besitzt jedes File einen logischen Namen. Diese können mit

    select * from sys.database_files

    ausgelesen werden (hier z.B. “awCMS_Data” und “awCMS_Log”):

    sql_logical_names

    Zurück zu unseren physischen Files: Das erste .mdf ist das primäre Datenbankfile. Bei großen Datenbanken kann es Sinn machten, die Daten auf mehrere Files (Filegroups) aufzuteilen – das bringt bei mehreren Laufwerken oft bessere Performance. Understanding Files and Filegroups und Files and Filegroups Architecture liefern übrigens die wichtigsten Informationen hierzu.

    Das Transaction Log

    Eine Funktion des SQL Servers ist, dass alle Datenbank-Aktionen zuerst in das Transaction-Logfile geschrieben werden und erst danach in das Datenbank-File. Die Daten aus dem Transaction Log werden erst durch eine COMMIT-Funktion in die Datenbank persistiert (dann, wenn die Datenbank-Transaktion vollständig ist). Daher stehen im Transactionlog also eigentlich nur “temporäre” Daten – eine Art Zwischenspeicher.

    Das Transaction Log wird in kleinere Segmente unterteilt, diese heißen “Virtual Logs”.

    sql_virtual_log

    SQL Server kümmert sich selbst um die Verwaltung des Transaction Logs. Nach dem Commit wird ein Checkpoint gesetzt und der verwendete Platz wird wieder freigegeben. Bereits gespeicherte Daten werden abgeschnitten (Truncated).

    Je nach Recovery Model und Größe und Auslastung der Datenbank kann die Größe des Transaction Logs allerdings wachsen (und zwar immer um ein Vielfaches eines Virtual Log Blocks).

    Transaktionen werden sequentiell geschrieben (siehe unten). Wenn der Platz begrenzt ist/das Ende erreicht ist, wird wieder am Anfang des Files fortgesetzt (Loop).

    Das Datenmodell

    Wichtig für den Betrieb und das Backup ist das gewählte Daten-Modell.
    Für jede Datenbank kann (in den Eigenschaften der Datenbank) das Recovery Model eingestellt werden, die Vorgabe ist “Full”.

    db_recovery_model

    Diese SQL Abfrage liefert eine Übersicht über das Recovery Model aller Datenbanken:

    SELECT name, recovery_model_desc FROM sys.databases

    db_recovery_model_sql

    Ganz rasch: SIMPLE erfordert keine Log File Backups, FULL bietet höheren Schutz (Wiederherstellung) und erfordert Log File Backups.

    Das bedeutet, dass das Datenbank Recovery Model je nach Anforderung sorgsam gewählt werden sollte. msdn liefert in Recovery Model Overview alle Informationen hierzu.

    Bei Verwendung von FULL kann es also dazu kommen, dass das Transaction Log voll wird…

    Tipp: Damit das Transaction Log nicht die Festplatte vollschreibt, empfiehlt es sich, das Transaction Log File zu beschränken. Das funktioniert in den Datenbank-Eigenschaften durch Setzen der File-Größe.

    So sehen die Standard-Einstellungen aus:

    logfile_properties_autogrowth

    Und so wird die Restricted File Growth auf einen eigenen maximalen Wert gesetzt:

    logfile_properties_fixed_size

    Somit kann das Transaction Log für diese Datenbank nur bis 25MB wachsen. Beachten Sie, dass im Logfile genügend Platz für den laufenden Betrieb vorhanden ist!

    Hinweis: Wenn Sie Database Mirroring (mehr dazu in einem folgenden Blog-Artikel…) einsetzen, können Sie das Recovery Model SIMPLE NICHT einsetzen (sondern FULL).

    Tipp: Beachten Sie den Platzbedarf auch, wenn umfangreiche Datenbank-Operationen durchgeführt werden, beispielsweise wenn ein Maintenance Task alle Indizes in einer Datenbank erneuert…! Das kann leicht zu einem “Transaction Log is full” Fehler führen (so ist es auch bei einem Kunden passiert, als die Datenbank in der Nacht reorganisiert wurde - und am nächsten Tag in der Früh stand…)

    Transaction Log is full

    Wenn das Transaction Log voll ist verweigert SQL Server Abfragen und sogar Backups:

    Executing the query "BACKUP DATABASE..." failed with the following error: "The transaction log for database 'cms' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
    BACKUP DATABASE is terminating abnormally…

    Was tun?

    Die Antwort ist zum Glück einfach:

    DBCC SQLPERF(logspace)

    zeigt, wie viel Platz IM Logfile verbraucht wird:

    logfile_usage

    In diesem Beispiel verwendet die Datenbank “cms” bereits 91% des verfügbaren Platzes. Ein Zeichen für einen möglichen Engpass.

    Wie reduziert man also die Transactions? Per BACKUP des Transaction Logs!

    BACKUP LOG [cms]
    TO DISK = N'D:\BACKUP\cms.trn' WITH NOFORMAT, INIT, 
    NAME = N'cms-Transaction Log  Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    GO

    So wird das Transaction Log in das Backupfile cms.trn geschrieben:

    sql_backup_trn

    Durch das Backup werden inaktive Transaktionen entfernt und das Transaction Log File somit wieder für Virtual Logs entleert.

    Visualisierung - Log Kontrolle

    Sehen wir nach dem Backup nochmals mit DBCC SQLPERF(logspace) nach:

    sql_backup_trn_result

    Fein, die CMS Datenbank benötigt jetzt nur mehr 21% Platz im Transaction Log File. Hat funktioniert!

    Weiters sehr hilfreich ist der TSQL-Befehl

    DBCC LOGINFO

    LogInfo zeigt an, welche Transactions in einer Datenbank (in einem Log File) vorhanden sind, welche committed sind (Status 0) und welche noch nicht committed sind (Status 2).

    sql_loginfo

    Status 2 zeigt offene Transaktionen an:

    sql_loginfo2

    Die Spalte FSeqNo ist die laufende Transaktionsnummer – immer aufsteigend (sequentielles Schreiben), hier sind die Transaktionen 21990 und 21991 offen.

    Durch Ausführen von BACKUP LOG werden alle offenen Transaktionen geschlossen! Bei neuerlichem Ausführen danach dürfen eigentlich nur mehr neue (die letzten) Transaktionen mit Status 2 markiert sein.

    Wichtige Hinweise zum BACKUP

    Mit Full oder Bulk-Logged Recovery Mode bleiben inaktive Transaktionen im Logfile! Und zwar so lange, bis ein Checkpoint erstellt wurde und ein Backup des Transaction Logs durchgeführt wurde!

    Ein “Full Backup” entfernt also KEINE Transactions aus dem Transaction Log File, wie in diesem Beispiel:

    BACKUP DATABASE [cms]
    TO DISK = N'D:\Backup\cms.bak' WITH NOFORMAT, INIT,
    NAME = N'Vollstaendig Datenbank Sicherung', SKIP, NOREWIND, NOUNLOAD, STATS = 10
    GO

    Ein Transaction Log Backup gibt zuvor benutzen Platz wieder frei, verkleinert das File aber NICHT, wie in diesem Beispiel:

    BACKUP LOG [cms]
    TO DISK = N'D:\BACKUP\cms.trn' WITH NOFORMAT, INIT, 
    NAME = N'cms-Transaction Log  Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    GO

    Shrink File

    Und es geht doch: Um ein Transaction Log File zu verkleinern, verwenden Sie in der aktuellen Datenbank:

    SELECT name FROM sys.database_files
    WHERE type_desc = 'LOG'

    Und nun den logischen Dateinamen (in meinem Beispiel “awcms_log”) in ShrinkFile einsetzen:

    DBCC SHRINKFILE ('awcms_log', 1000)

    Setzt bzw. reduziert die physische Größe des Log Files auf 1GB.

    Zur Vollständigkeit: Um unbenutzten Platz in Daten-Files freizugeben kann ShrinkDatabase verwendet werden:

    DBCC SHRINKDATABASE ('cms', TRUNCATEONLY)

    Hiermit wird der freie Platz am File-Ende freigegeben, aber das File nicht reorganisiert - siehe auch DBCC SHRINKDATABASE (Transact-SQL). z.B.:

    db_shrinkfile

    Achtung:  Die Datenbank sollte NICHT auf Auto-Shrink gesetzt sein, da bei kontinuierlichem Verkleinern durch starke Defragmentierung Performance-Probleme auftreten können! AutoShrink sollte also FALSE sein, so wie hier:

    db_autoshrink 

    Wie vorbeugen?

    Nachdem wir nun reagieren können, stellt sich die Frage, wie man vorbeugen kann, damit dieser Fall nicht eintritt.

    Gut ist, bei Verwendung von Recovery Model FULL die Datenbank komplett zu sichern und danach das Transaction Log extra zu sichern. Damit wird das Transaction Log File verkleinert und kann wieder neu befüllt werden.

    Tipp: Bei Bedarf (bei großen Datenbanken mit vielen Transaktionen) empfehle ich, stündliche oder minütliche Backups des Transaction Logs – das bringt auch eine gute Sicherheit, da die Datenbank so leicht zu einem beliebigen Zeitpunkt (zu jedem Zeitpunkt, wo ein Transaction Log gesichert wurde) wiederherstellbar ist.

    Ein Backup-Verzeichnis eines Tages könnte also sinngemäß so aussehen:

    cms.bak
    cms_1.trn
    cms_2.trn
    cms_3.trn
    cms_4.trn

    Der Vorteil: Restore zu jedem der fünf Zeitpunkte und ein kleines operatives Log File.

    Tipp: Unbedingt beachten, dass Transaction Log auch VOR und NACH Reorganisations-Tasks (wie Index Rebuild) durchgeführt werden sollten – vor allem, wenn die File Size mit einem eigenen Wert auf restricted gesetzt ist (oder der Festplattenplatz eng ist).

    Damit sollte der “Transaction Log is full” Fehler der Vergangenheit angehören und Sie das Handwerkszeug zum Beheben und Warten von Transaction Log Files besitzen.
    Über SQL Server Wartung gibt es noch viel zu sagen und zu berichten – stay tuned. Zwinkerndes Smiley



  • HowTo Script in PowerShell

    script_center Langsam wird die neue PowerShell immer populärer. Im Windows Server 2008 ist die PowerShell bereits in der Evaluation Version inkludiert. Für alle anderen Windows Betriebssysteme muss die PowerShell 1.0 heruntergeladen und installiert werden (Voraussetzung ist nur das Vorhandensein des .NET Framework 2.0).

    Seit Ende Jänner ist die finale Version verfügbar, nun gibt es seit dem 31. Juli für die Benutzer der MUI Versionen von Windows XP und Windows Server 2003 eine PowerShell Version für x86, x64 und Server IA64 hier zu laden. (Hinweis: Die MUI Language Packs laufen nur unter den MUI Versionen von Windows. Zuerst muss die englische Version der PowerShell 1.0 installiert werden und danach das Language Pack for Windows PowerShell 1.0.)

    Die PowerShell arbeitet vollständig objektorientiert. Wie bei anderen Shells gibt es eine Pipeline, in der Ergebnisse von Befehlen an andere Kommandos weitergegeben und weiterverarbeitet werden können.

    Für alle jene, die sich die PowerShell noch nicht angesehen haben und einmal selbst drauflosprobieren wollen hier eine Quick-Start-Anleitung für das schnelle Erfolgserlebnis.

    Nach dem Download erfolgt die Installation zügig:

    powershell-install-1 powershell-install-2

    Der Aufruf der PowerShell erfolgt einfach über den Pearl-Button und Aufruf der PowerShell (C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe):

    powershell-start

    Und schon geht´s los mit einfachen Kommandos:

    get-process

    powershell-demo-1

    Die PowerShell besitzt vielleicht den Charme der Eingabeaufforderung, bietet unter der Haube aber ein völlig neues Konzept der Administration von Windows-Rechnern und eine neue, zusätzliche Plattform der Automation.

    Beim Aufruf von Scripts lauert ein Stolperstein: Das gewohnte Ausführen von Scripts mit der Erweiterung .ps1 öffnet bei Ausführung das Script im Notepad und startet nicht (wie vielleicht von Windows Scripting Host gewohnt) das Script!

    Als Abhilfe hier nun die Schnellanleitung zum Handling und Testen eines einfachen Scripts in der PowerShell:

    Zuerst wird (außerhalb der PowerShell) ein neues Textfile mit Notepad mit einer Zeile (zur Anzeige der Betriebssystem-Version mit gwmi win32_operatingsystem) erstellt:

    powershell-script

    Das File wird in C:\Script\test1.ps1 gespeichert. Nun, wie wechselt man (in der PowerShell) das Verzeichnis?

    cd C:\Script
    dir

    Microsoft hat übrigens auch Altbewährtes - Flashback! ;-) - aus einer anderen Welt übernommen: pwd, chdir, ls, ...

    Logisch erscheint, nun einfach das Script test1.ps1 aufzurufen...

    powershell-demo-4

    Das klappt aber so noch nicht. Warum? Die PowerShell verwendet eine "excution policy", welche verhindert, dass nicht signierte Scripts aufgerufen werden (versuchen Sie mal Get-ExecutionPolicy um anzusehen welche Policy eingestellt ist oder Get-Help About_Signing).

    Das bedeutet, wir stellen mal die Policy auf "RemoteSigned" ein:

    Set-ExecutionPolicy RemoteSigned

    Neuerlicher Aufruf von test1.ps1... es klappt noch immer nicht. Durch das Ändern der Policy ist es möglich, Scripts aufzurufen. Allerdings - obwohl wir uns im richtigen Verzeichnis befinden - behandelt die PowerShell Pfade anders als gewohnt. Das bedeutet, es muss immer der Pfad zum Script mit angegeben werden:

    C:\Script\test1.ps1
    (oder kürzer mit ".\":)
    .\test1.ps1

    Nun funktioniert der Aufruf!
    powershell-demo-5

    Wenn C:\Script im PATH vorhanden ist, kann die Pfadangabe entfallen. Um den aktuellen PATH auszugeben, verwenden Sie beispielsweise $env:path und zerlegen diesen mit Split(";") nach dem Trennzeichen ";" in einzelne Elemente:

    $a = $env:path; $a.Split(";")

    Hinweis: $-Zeichen definieren übrigens Variablen. D.h. $a wird der Environment-Variable zugewiesen und gibt im zweiten Teil die Variable aus. Nachdem es sich um .net Objekte handelt, sind deren Eigenschaften und Methoden (wie hier .Split verwendbar). Dies ist auch die Stärke der PowerShell, dass fast alle .net-Objekte verwendbar und "pipe-able" (weiterverwendbar) sind.

    Um dem PATH eigene Verzeichnisse hinzuzufügen verwenden Sie:

    $env:path = $env:path + ";c:\scripts"

    Achja noch ein Tipp: Bei Script-Aufrufen in Pfaden mit Leerzeichen muss der Pfad - wie gewohnt - in "C:\Mein Script\test1.ps1" eingefasst werden UND dieser "String" mit dem & - Zeichen als Call-Operator aufgerufen werden:

    & "C:\Mein Script\test1.ps1"

    Und wie kann man nun ein PowerShell-Script außerhalb der PowerShell aufrufen? Die Lösung ist einfach:

    powershell-demo-6

    Aufrufen der PowerShell mit dem Script (und der optionalen Anweisung -noexit, damit die PowerShell geöffnet bleibt):

    powershell.exe -noexit c:\script\test1.ps1

    powershell-demo-7

    Das wars! Mit diesem Handwerkszeug steht die Basis zum Experimentieren mit PowerShell Scripts bereit und die Fülle an bereits verfügbaren Scripts kann getestet und angepasst werden.

    Das Windows PowerShell Owner’s Manual liefert die ersten Informationen zur Verwendung der PowerShell, das Windows PowerShell 1.0 Documentation Pack eine Getting Started-Dokumentation.

    Zum Einstieg empfehle ich u.a. die Links Scripting with Windows PowerShell im Microsoft Script Center und das Blog des PowerShell Teams sowie den Download des Windows PowerShell Graphical Help File (PowerShell.chm).

    Es gibt auch bereits eine deutschsprachige community mit einem Angebot an News, Informationen, Blogs und Tutorials.

    In diesem Sinne wünsche ich viel Spaß beim Entdecken der Fähigkeiten der PowerShell und beim Scripten!

    Beitrag von Toni Pohl

  • How to upgrade Windows Server 2008 R2 Standard to Enterprise

    Man kennt das ja: Die Anforderungen an die Serverlandschaft steigen und der Admin beschließt, neue Server anzuschaffen oder bestehende Server aufzurüsten. Die vielen virtuellen Maschinen müssen ja wo laufen und genügend Ressourcen erhalten. Mit Windows 2008 R2 mit SP1 als Hyper-V Server (mit Dynamic Memory) sind die besten Voraussetzungen dafür vorhanden.

    In meinem Fall kommen drei neue Server und ein Upgrade eines bestehenden Servers. So stecke ich also eine zusätzliche CPU und weitere 24GB RAM in den Server, in Summe sind dann 2 XEON CPUs und 48GB RAM in der 1 HE “Pizzabox”… Erinnert mich an eine umgemünzte Waschmittel-Werbung: Mehr können Sie für Ihren Server nicht tun… er ist somit voll:

    server-upgrade

    Kurzer Check im Setup, passt, Windows neu starten. Nun der Check im Windows System:

    windows-upgrade-system-0

    2 CPUs, ok, 48GB RAM ok – aber es werden nur 32GB RAM verwendet!

    Die MSDN Seite Memory Limits for Windows Releases gibt Aufschluss über den Grund:
    Windows Server 2008 (R2) Standard hat die Grenze von 32GB RAM pro Maschine.
    Nur Windows Server 2008 R2 Enterprise und Windows Server 2008 R2 Datacenter können bis zu 2TB RAM adressieren.

    Nun gut, Enterprise License macht es möglich: Also Upgrade der bestehenden Maschine von Standard auf Enterprise. Wie?

    Netterweise ist es leicht möglich, ein In-Place Upgrade (ohne Installationsmedium) durchzuführen, und zwar mit dem Tool DISM.exe.

    DISM ist das “Deployment Image Servicing and Management Tool” für Windows Server 2008 und Windows 7, mehr dazu hier:
    What Is Deployment Image Servicing and Management?

    Achtung: Das In-Place Upgrade mit DISM funktioniert NICHT auf einem Domain Controller! Dieser muss zuvor mit dcpromo heruntergestuft werden, das Upgrade durchgeführt werden und dann wieder zum DC hinaufgestuft werden! Diese Situation werden aber wahrscheinlich wenige Admins haben, sonst funktioniert DISM eigentlich (fast) problemlos.

    Die Kurzfassung des Upgrades: (siehe auch Upgrading Windows Server 2008 R2 without media):

    • DISM /online /Get-CurrentEdition
      liefert die aktuell verwendete Windows Edition
    • DISM /online /Get-TargetEditions
      liefert die möglichen Upgrade-Editionen
    • DISM /online /Set-Edition:<edition ID> /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
      führt das In-Place Upgrade auf eine bestimmte Edition durch

    Klingt einfach – ist es grundsätzlich auch – wenn da nicht ein kleiner Stolperstein wäre. Also starten wir mal:

    DISM /online /Get-CurrentEdition

    windows-upgrade-1

    Ok, wir haben die Standard-Edition installiert.

    DISM /online /Get-TargetEditions

    windows-upgrade-2

    Gut, wir können auf Enterprise upgraden. Tun wir´s (mit dem installierten Key).

    DISM /online /Set-Edition:ServerEnterprise /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

    windows-upgrade-3-do-it

    Es folgt jedoch ein Fehler. Es klappt nicht:

    windows-upgrade-4-error

    Es gibt ein Problem mit dem Product Key. Obwohl dieser gültig ist (Windows ist aktiviert), funktioniert das Upgrade nicht.

    Die Ursache liegt am Installationsmedium und dem verwendeten Product Key. Wenn es sich um eine Volume License (VL) handelt, so streikt DISM, wenn die Windows Version mit einem Multiple Activation Key (MAK) oder einem Key Management Service (KMS) Schlüssel installiert wurde! Siehe auch Informationen zur Produktaktivierung und zu Produktschlüsseln.

    Die Lösung: Nach einigem Suchen habe ich sie in diesen Links gefunden:

    In diesem Satz in der TechNet KMS Seite liegt der Grund:
    “By default, the Windows 7 and Windows Server 2008 R2 operating systems use KMS for activation. In volume installations, the setup key is installed by default, which makes the system a KMS client. If you are converting a computer from a KMS host, MAK, or retail edition of Windows to a KMS client, install the applicable setup key (GVLK) from Table 9 using slmgr /ipk <setup key>.”
    In VL Installationen macht der hinterlegte Product Key das System zu einem KMS Client. Daher muss auch dieser für das Upgrade verwendet werden.

    Nachdem auch ich die VL-Product Keys verwendet habe, ist die Lösung, das Upgrade auf Enterprise Edition mit DIESEM (KMS) Product Key durchzuführen:

    DISM /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y

    Und so funktioniert der Vorgang:

    windows-upgrade-5-running

    Noch ein Reboot und prüfen:

    windows-upgrade-6-enterprise-task

    Tatsächlich begrüßt mich Windows nun mit Enterprise Edition und dem vollen RAM-Wert.

    Nun muss nur noch wieder auf den eigenen VL-Product Key gewechselt werden, Windows erneut aktiviert werden und das Upgrade (und damit die volle Nutzung meines RAM-Speichers) ist erledigt.

    Cool! VMs, ihr habt wieder Ressourcen und mehr Platz!



  • Der Microsoft.ACE.OLEDB.12.0-Provider fehlt

    Vor kurzem bin ich über ein kleines, lästiges Problem mit dem SQL Server 2012 gestolpert. Beim simplen Import einer Excel-Tabelle in einen SQL Server 2012 konnte die Aktion nicht durchgeführt werden. Stattdessen folgt eine Fehlermeldung “Microsoft.ACE.OLEDB.12.0-Provider fehlt” des SQL Server-Import/Export-Assistenten.

    Doch schön der Reihe nach: Das Ziel ist das Importieren von Daten in eine bestehende SQL-Datenbank, die in einer Tabelle in einer Excel 2007-Datei vorliegen.

    Tipp: Natürlich kann die SQL-Tabelle “on the fly”-durch den Assistenten automatisch erstellt werden, jedoch - nachdem der Importvorgang mit vielen Feldern manchmal etwas heikel ist - ist (meine) “best practice” die SQL-Zieltabelle VOR dem Import anzulegen, dann gibt's weniger Fehler beim Lauf des Import-Assistenten.

    Die eigentliche Vorgangsweise zum Importieren von Daten in den SQL Server funktioniert im SQL Management Studio: Hier wird im Kontextmenü einer Datenbank Tasks/Daten importieren gewählt.

    image

    Nun wird die Quelldatei – als Datenquelle Microsoft Excel - wie in folgendem Screenshot ausgewählt.

    image

    Beim Ausführen mit Weiter folgt diese Fehlermeldung:

    Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert. (System.Data)

    Der Import kann nicht weiter ausgeführt werden. Ursache ist das verwendete System, bei mir Windows 8.1 x64 mit installiertem Office 2013 x32. Trotz vorhandenem Office 2013 fehlt anscheinend die erforderliche Bibliothek.

    Nach etwas Suchen fand ich eine funktionierende Lösung: Der fehlende Provider kann durch die Installation der “2007 Office System Driver Data Connectivity Components” auf dem lokalen Rechner hinzugefügt werden. Die Tools (auch wenn schon etwas älter) können aus dem Microsoft Download Center bezogen werden.

    2007 Office System Driver: Data Connectivity Components

    image

    Nach dem Download werden die Komponenten installiert:

    image

    Sofort nach der Fertigstellung klappt es nun mit dem SQL-Wizard, er setzt fort.
    Die Excel-Daten können nun wie gewohnt in eine SQL-Tabelle importiert werden.

    Ein etwas seltsamer Workaround – aber es funktioniert. Dies ist wahrscheinlich nicht die einzige Lösung, aber wenn jemand in dieses Problem läuft ist dieser Weg eine rasche, praktikable Lösung.

  • TechNet on Tour - Bereit für die 2008 Plattform

    Bei der TechNet on Tour, mit der wir in den letzten 2 Wochen auf Tour quer durch Österreich waren, konnten wir über 320 Teilnehmer begrüßen. Die Vorträge waren rund um die Microsoft Plattform, sowie speziell auf die neuen Produkte Windows Server 2008, SQL Server 2008 und Visual Studi 2008 (nur in Linz, Graz und Wien) ausgerichtet.

    Für all jene, die nicht auf der TechNet on Tour teilnehmen konnten, aber trotzdem gerne die Präsentationen oder die Webcasts sehen möchten > einfach auf den jeweiligen Link klicken.

     

    pickerlCode_technet_HGK4BLOQ (2)

    Beitrag: Barbara Reiff

  • Nachtrag zur Sicherheitslücke in ASP.NET

    Wie in Achtung! Sicherheitslücke in ASP.NET entdeckt beschrieben, kann die Sicherheitslücke in ASP.NET mit wenig Aufwand durch Anpassen der Datei web.config behoben werden.

    Zur Klarstellung noch ein paar Nachträge, zusammengefasst aus den Kommentaren in Scott Gu´s blog: Important: ASP.NET Security Vulnerability:

    • Muss der Workaround wirklich angewendet werden? Ja! “Yes - please do apply the workaround
    • Auch bei verschlüsselter web.config? Ja. Verschlüsselung ist eine Empfehlung – aber auch dann soll web.config niemals preisgegeben werden. “Encrypting your connection strings has always been our recommended best practice - and prevents someone from identifying them if the web.config file is compromised.”
    • Wird es einen Patch geben? Ja! (s.u.) ”The workaround is only a temporary suggestion - we will patch the vulnerability itself at which point it isn't required.  We published the workaround because of worries that someone might try to exploit this before a patch is available.”
    • Zur Ausnutzung der Sicherheitslücke in ASP.NET wird versucht, die Unterschiede zwischen HTML Error Code 404 (und Versionen) und 500 (Allgemeiner Fehler) auszulesen. Es soll demnach auch keine eigene 404 er Seite angegeben werden.
      “No - until we release a patch for the real fix, we recommend the above workaround which homogenizes all errors.”
    • Nochmals: Der beste Weg, das zu verhindern, ist immer nur EINE Fehler-Website anzugeben - daher auch keine Error-Subelemente verwenden!
      O-Ton Scott: “One of the ways this attack works is that looks for differentiation between 404s and 500 errors.  Always returning the same HTTP code and sending them to the same place is one way to help block it.”
    • Im Original-Artikel wird auch erwähnt, dass es mit dem Bug auch möglich sei, den ViewState zu entschlüsseln (“to enable decrypting of ViewState”).
      Scott´s Antwort dazu beschreibt, dass die Ausnutzung darin begründet liegt, dass es ASP.NET erlaubt, CSS, Javascript etc. mit einem Schlüssel als Teil der Anfrage immer downzuloaden. “…a feature in ASP.NET that allows files (typically javascript and css) to be downloaded, and which is secured with a key that is sent as part of the request. Unfortunately if you are able to forge a key you can use this feature to download the web.config file of an application (but not files outside of the application).“
    • Es ist – nicht wie ursprünglich beschrieben - nur der Modus customErrors mode=”On” möglich: “RemoteOnly will also work fine.”. Es funktioniert “On” UND “RemoteOnly”, z.B.:
      <customErrors mode="RemoteOnly" defaultRedirect="~/myerror.html" />
    • Ja, SharePoint ist ebenfalls betroffen.
    • Auch ASP.NET MVC ist betroffen: “Yes - all versions of ASP.NET are affected, including ASP.NET MVC.”
    • Betrifft das nur ASPX-Seiten? Nein, auch alle ASP.NET Ressourcen. “This vulnerability impacts ASP.NET resources (not just ASPX pages).”
    • Die mögliche Viewstate-Entschlüsselung ist unabhängig vom möglichen Download von ASP.NET Dateien: “The attack vector that was demonstrated publicly (which downloads the web.config file) uses a built-in feature of ASP.NET and is independent of viewstate.”
    • Ist auch ASP.NET unter Mono betroffen? Wahrscheinlich nicht “I'm not sure if Mono has the same bug.”
    • Wie beschrieben, sollte in jedem ASP.NET Produktivweb customErrors mode=”On” gesetzt sein… ;-)
    • Ein Tipp zum Script DetectCustomErrorsDisabled3.vbs: Wenn viele Webs vorhanden sind, ist es oft sinnvoller, die Webs, wo web.config ok ist, einfach nicht auszugeben: Dazu in Zeile 163 einfach ein einfaches Hochkomma ‘ vor der Ausgabe WScript.Echo Path & ": ok" ausgeben:
      aspnet_script_4 
      Noch schöner wäre, die Ausgaben (statt gleich als Messagebox) in einem String zu sammeln und am Ende des Durchlaufs gesammelt (ev. in einer Datei, Notepad o.ä.) auszugeben. Wer Lust hat, das Script weiter anzupassen… (ich bin mit meinen Webservern schon durch… ;-).
    • Wenn der angekündigte Patch verfügbar ist, kann wieder die ursprüngliche web.config mit mehreren Error-Elementen verwendet werden.
      Bis es soweit ist: Bitte web.config wie im Artikel beschrieben anpassen! “Note that when the patch comes out to fix this, you won't need to do this (and can revert back to the old behavior).  But for right now I'd recommend not differentiating between 404s and 500s to clients. Thanks, Scott”

    Danke an Scott und die ASP.NET Community!
    Ich hoffe, mit dieser Zusammenfassung sind die wichtigsten Fragen zum ASP.NET Workaround geklärt.
    So, do it! ;-)



  • Google Suchergebnisse werden in Windows 8.1 nicht korrekt dargestellt

    Ein kurzer Tipp an alle, die bereits auf Windows 8.1 aktualisiert haben und sich wundern, warum die Suchergebnisse in Google (oder auch andere betroffenen Webseiten) nicht korrekt angezeigt werden: Die liegt daran, dass die Kompatibilitätsansicht im 64bit Internet Explorer 11 nicht funktioniert (KB2887858).

    image

     

    Die schnelle Abhilfe besteht darin. in den IE Extras (ALT+X) zu den Einstellungen der Kompatibilitätsansicht zu wechseln.

    image

    Dort dann das Häkchen bei Kompatibilitätslisten von Microsoft verwenden entfernen und schon stimmt das Erscheinungsbild wieder.

    image

    Schönen Wochenstart!

  • Excel 2013 Power Map Add-In Preview

    Power Map ist ein neues 3D Visualisierungs-Add-In für Excel 2013 und wurde in den Keynotes auf den beiden TechEd´s 2013 North America und Europe vorgestellt. Das Add-In kann geographische Daten ansprechend und interaktiv darstellen. Dazu wird Bing Maps in Verbindung mit Excel verwendet.

    Power Map Preview ist nun – neben Power Query, Power Pivot und Power View - Bestandteil von Power BI for Office 365 Preview, siehe auch PowerBI – Office und Announcing Power BI for Office 365.

    image

    Der Download erfolgt von der Webseite Power Map Preview for Excel 2013 (formerly Project codename "GeoFlow"). Dazu gehört auch eine Word-Anleitung Getting Started with Power Map Preview_7-3-13.docx mit etwa 6MB Dateigröße.

    Das Add-In benötigt Office Professional Plus 2013 und Windows 7, Windows 8 oder Windows 2008 R2 mit Microsoft .NET Framework 4.0 und eine Internet-Verbindung (bing maps). Als Minimal-Auflösung wird 1024x768 benötigt. Auf Windows 8 RT ist das Add-In nicht lauffähig, es braucht schon etwas Rechenleistung.

    Der Download von PowerMap Preview For Excel 2013.exe ist 16,3MB klein. Die Installation ist einfach:

    image

    Danach steht in Excel im Menü Einfügen der Befehl Map und Launch GeoFlow zur Verfügung.

    Damit das Ganze auch Sinn macht, benötigt Power Map Daten. Microsoft stellt hierzu auch in Download GeoFlow Preview for Excel 2013 einige Beispieldaten zu Download bereit:

    Fein zum ersten Testen. Ich habe mich für das Dataset “NOAA Natural Disasters” entschieden. Die Beispieldatei sieht dann so aus:

    image

    Es gibt auch eine kurze Anleitung rechts von der ersten Tabelle. Zunächst wird im Ribbon Einfügen/Map/Launch GeoFlow (huch, hier steht noch der alte Projektname…) ausgewählt. Danach wird die Datenquelle ausgewählt:

    image

    Jetzt folgt nach kurzer Analyse die Power Map. Hier werden Ereignisse in der Karte dargestellt werden. Mit den Themes kann das Aussehen der Karte bestimmt werden, mit Map Labels die Anzeige der Länder, Regionen und Städte.

    image

    Mit den Beispieldaten sind bereits Darstellungen nach Kategorien vorhanden: Vulkanausbrüche, Hurricans, Erdbeben, Tsunamis, etc.
    Für die Darstellung in der Karte gibt es eine Fülle von Kombinationsmöglichkeiten, ähnlich wie beim Pivotieren.

    image

    Mit verschiedenen Layern werden die Daten ausgewählt, bearbeitet oder neue Layer erstellt.
    Der Chart Type bestimmt die Darstellung der Werte in der Karte.

    image image image

    HeatMap kann nur einen Wert darstellen, Column zeigt mehrere Werte an. Hier im Beispiel der weltweiten Natur-Katastrophen mit der Anzahl der toten, verletzten und vermissten Personen und den wirtschaftliche Schaden im asiatischen Raum im Gesamtzeitraum. Sofort ersichtlich sind die großen Erdbeben in Sichuan in China 2008 und die beiden Tsunamis in Indonesien 2004 und in Japan 2011. In dem Time Settings kann zwischen Aktuellen, allen und den letzten Daten gewählt werden.

    image

    Die Weltkarte kann mit den Pfeilen rechts unten und mit der Maus und Mausrad nach Belieben gezoomt, gedreht und verschoben werden.

    Alternativ können die Daten auch in einer animierten Tour “Play Tour” angezeigt werden. Hierbei wird die Zeitachse durchlaufen und visualisiert. Die Timeline kann unten ein- und ausgeblendet werden, ebenso kann in der TaskPane der darzustellende Zeitraum ausgewählt und die Geschwindigkeit angepasst werden. Auch hier gibt es einen Haufen Einstellungsmöglichkeiten.

    image

    Um selbst eigene Daten darzustellen empfiehlt es sich in der Word-Anleitung das Kapitel “How to prepare your data for visualizing in Power Map” anzusehen und die Schritte zu durchlaufen. Sinnvoll ist so eine interaktive Darstellung etwa für Verkaufszahlen, Social Media Auswertungen und ähnliche Daten, die auf bestimmte Orte gebunden werden können.

    Power Map unterstützt keine Data Modelle mit Hierarchien. Mit “flachen” Daten können mit Power Map wirklich tolle Darstellungen durchgeführt werden. Als Beispiel siehe auch das Video von der TechEd Europe 2013 Keynote: The Cloud OS: It’s Time! Hier wird Power Map von Tweets auf einem Riesen-Touch-Monitor gezeigt, etwa bei Laufzeit 1:00.

    Mit Power Map für Excel 2013 ist die Spielwiese eröffnet. Viel Spaß beim Ausprobieren und Visualisieren!

  • Vorsicht bei Lumia 925, dem Cyan Update und Bitlocker

    Seit heute ist das Cyan Update von Nokia frei gegeben. Auf dieser Nokia Website kann abgefragt werden, ob in Ihrem Land und für Ihr Device das Update bereits verfügbar ist. Dieses Update enthält neben Windows Phone 8.1 nun auch die nötigen Treiber und Erweiterungen, die von Nokia bereit gestellt werden. Viele haben ja bereits vorher schon die Developer Preview des Windows Phone 8.1 installiert gehabt, nun ist es für alle frei gegeben. Und Windows Phone 8.1 ist definitiv eine tolle Neuerung!

    Bitte machen Sie, falls Sie ein Lumia 925 besitzen VOR dem Update unbedingt ein Backup Ihrer Daten!

    Ich bin seit einem guten Jahr Besitzerin eines Lumia 925. Auf diesem Device war die Developer Preview, mein Office 365 Mailkonto und eine MDM mittels SCCM/Intune installiert. Heute Abend wollte ich – wie in der IT üblich – “schnell mal” – das Cyan Update einspielen. Update geladen. Restart. Bluescreen mit einer netten Meldung:

    Bitlocker recovery

    To recover this drive, plug in the USB drive that has the bitlocker recovery key.
    Bitlocker needs your recovery key to unlock your drive because the trusted platform module is not accessible.
    For more information on how to retrieve this key, go to
    http://windows.microsoft.com/recoverykeyfaq from another PC or mobile device
    Press Enter to Reboot and try again
    Press Esc or the windows key for other recovery options

    Was tun?

    Ein Softreset hilft leider nicht.

    Ein Hard-Reset, wie hier beschrieben leider auch nicht, sondern führte zu einem Dauerrestart.

    Dank meiner großartigen MVP Kollegen Martin Geuss, Andreas Baumgarten und Meinolf Weber fand ich schnell Abhilfe: mit dem Nokia Software Recovery Tool. Damit lässt sich das Lumia 925 wieder auf den Ursprungszustand (derzeit Windows Phone 8) zurück setzen.

    Bitte beachten Sie aber, dass dabei das Phone komplett gelöscht wird.

    image

    image

    image

    WP_20140715_065

    Positiv ist dabei: nach dem Reset ist so richtig viel Platz auf dem Phone. Smiley

    image

    Sobald das Phone wieder hergestellt ist, können Sie Ihr Backup einspielen, dann werden die Apps installiert und dann können Sie das Cyan Update wieder einspielen.

    Wichtig hier: wenn Sie eine EAS/MDM Policy haben, die das Device verschlüsselt, bitte bei der Ersteinrichtung Ihre Kontodaten (für E-Mail) noch nicht eingeben, da sonst die Policy wieder greift und das Gerät verschlüsselt. Sobald sie das nach dem Update einspielen, gibt es keine Probleme.

    Was ist die Ursache?

    Ich habe – wie meine Kollegen auch – die Vermutung, dass es einfach an der EAS / MDM Policy liegt, die das Device verschlüsselt. Betroffen sind nur Geräte mit der Windows Phone 8.1 Preview und Bitlocker Verschlüsselung.

    Im Nokia Forum gibt es auch einen längeren Thread zu dem Thema, ich werde diesen Post auch aktualisieren, sobald ich weitere Infos habe.

    Bis dahin: bitte bei Lumia 925 vor dem Update ein Backup machen.

    Sollten Sie Bitlocker aktiviert haben (das können Sie anhand dieser Anleitung für Windows Phone 8 feststellen und für Windows Phone 8.1 Developer Preview finden Sie die Einstellung unter Einstellungen / Speicheroptimierung) – Device auf den Werkzustand zurück setzen und erst dann das Update einspielen. Das Mailkonto und/oder MDM erst nach dem Update aktivieren.

    Spart Ihnen einige Stunden Arbeit. Zwinkerndes Smiley

  • Achtung! Sicherheitslücke in ASP.NET entdeckt

    Wichtiger Hinweis für Hoster, IT-Pros und Developer, die ASP.NET Websites betreiben und verwalten! Vor wenigen Stunden hat der Chef der Microsoft Developer Division, Scott Guthrie (Mr. Red Poloshirt ;-), in seinem Blog auf eine kürzlich entdeckte Sicherheitslücke in ALLEN ASP.NET Versionen hingewiesen.

    Hier geht es zum Original-Artikel: Important: ASP.NET Security Vulnerability

    Durch Ausnutzen der Sicherheitslücke kann ein Angreifer die (normalerweise geschützten) Dateien einer ASP.NET Website herunterladen – zum Beispiel die Datei web.config, die üblicherweise in jeder Webanwendung vorhanden ist und sensitive Daten, wie Datenbank Connection Strings und ähnliche Web-Einstellungen, enthält.

    Die Sicherheitslücke funktioniert auf Basis von speziell präparierten Anfragen an den Webserver, welcher Errorcodes zurückliefert, die zum Entschlüsseln der retournierten Daten verwendet werden können. Also nichts, was im normalen Betrieb oder “zufällig” passieren kann, sondern nur durch gezielte Attacken und entsprechend viele Abfragen ausspioniert werden kann.

    Dennoch, diese Sicherheitslücke betrifft ALLE ASP.NET Versionen von 1.0 bis 4.0!

    Der Workaround dagegen ist zum Glück sehr einfach:

    Die Datei web.config in jedem Web muss den Eintrag customErrors mode=”On” und eine eigene Fehlerseite definiert haben, wie folgt:

    <configuration>       
       <system.web>
          <customErrors mode="On" defaultRedirect="~/error.html" />
       </system.web>       
    </configuration>

    So werden Webs durch eine eigene Fehlermeldung geschützt.

    Normalerweise sollte bei einem Produktivweb soundso eine eigene Error-Seite(n) hinterlegt sein… Hinweis: Der mode RemoteOnly darf auch verwendet werden! (updated 20.09.2010)

    Achten Sie bei Webs unter .NET 3.5 SP1 und .NET 4.0 auf den zusätzlichen Key redirectMode=”ResponseRewrite”.

    “The important things to note above is that customErrors is set to “on”, and that all errors are handled by the defaultRedirect error page. Note the use of redirectMode=”ResponseRewrite” with .NET 3.5 SP1 and .NET 4.0. There are not any per-status code error pages defined – which means that there are no <error> sub-elements within the <customErrors> section.  This avoids an attacker being able to differentiate why an error occurred on the server, and prevents information disclosure.”

    Call to action:

    Sehen Sie alle Webs auf Ihrem Webserver durch, oder lassen Sie sich von einem kleinen Script helfen, welches alle Websites auf dem IIS durchläuft und meldet, ob die web.config entspricht oder nicht.

    Bei mehreren Webs: Laden Sie am besten das Tool von www.asp.net/media/782788/detectcustomerrorsdisabledv30.zip herunter und entpacken Sie es:

    aspnet_script_1

    Starten Sie DetectCustomErrorsDisabled3.vbs (erfordert ADSI Unterstützung und IIS6 Management-Tools).

    Damit werden alle Webs auf dem Webserver durchlaufen und deren web.config geprüft.

    aspnet_script_2

    Nun wird jedes Web durchlaufen:

    aspnet_web_config_ok

    Ist web.config ok oder nicht ok?

    aspnet_script_3

    Nicht ok: Öffnen Sie die angezeigte web.config und suchen Sie nach der Einstellung “customErrors”. Der relevante Abschnitt kann dann zum Beispiel so aussehen:

    aspnet_web_config_wrong

    Ausbessern von customErrors in mode=”On” – wichtig ist auch, eine eigene defaultRedirect-Webseite (die natürlich im Web vorhanden sein muss) anzugeben, hier ooops.aspx.

    Und es dürfen KEINE Error Subelemente für einzelne Status-Codes definiert sein.
    Die korrigierte web.config sieht also so aus:

    aspnet_web_config_fixed

    Wenn im Web keine web.config vorhanden ist, muss diese Datei nach obigem Muster neu angelegt werden.

    Das Script ist zwar nicht super-komfortabel, aber ausreichend. Alternativ kann natürlich auch ein Search & Replace-Tool (wie z.B. Seeker o.ä.) verwendet werden.

    Das wars.

    Zum Testen, ob der Eintrag richtig gesetzt wurde und das eigene Fehlerhandling funktioniert, rufen Sie das Web mit einer falschen Seite auf und sehen Sie nach, ob die eigene Fehlerseite folgt.

    z.B. http://www.meinweb.at/falsch.aspx

    Microsoft wird bald einen Patch veröffentlichen, um dieses Problem zu beheben.

    Bis es soweit ist: Kontrollieren Sie Ihre ASP.NET Webs und passen Sie gegebenenfalls die web.config-Dateien wie oben beschrieben an!

    Mehr Infos zu dieser Sicherheitslücke finden Sie hier:

    Ich wünsche weiterhin sicheres Web-Hosting!



  • Clone Wars – Eine neue SID in Windows vergeben

    Virtuelle Maschinen (VM) können ja ganz leicht durch Kopieren geklont werden. Danach sollte der Security Identifier – kurz SID - geändert werden, damit die Maschine im Netzwerk eindeutig identifizierbar ist (zum Beispiel in WSUS: Wenn das nicht passiert und mehrere VMs dieselbe SID besitzen kann es zu pendelnden Maschinen-Infos führen), sonst “prügeln” sich die geklonten Systeme wie in Star Wars, nur nicht so bilderreich…

    Also, wie ändert man die SID in Windows?

    Recht populär ist das Tool NewSID von sysinternals.com. Dazu aber eine wichtige Information, die auch prominent auf der Website steht:

    IMPORTANT:
    Regarding SIDs, Microsoft does not support images that are prepared using NewSID, we only support images that are prepared using SysPrep. Microsoft has not tested NewSID for all deployment cloning options.
    Note: NewSID will be retired from Sysinternals on November 2, 2009.

    Mit anderen Worten: NewSID wird von Microsoft nicht offiziell unterstützt und nicht mehr lange zur Verfügung stehen. Ich habe mir mal den Spaß gemacht und NewSID dennoch in einer Windows Server 2008 R2 VM ausprobiert - ich habe schon soo lange keinen Bluescreen mehr gesehen!

    newsid_bluescreen

    Und tatsächlich zerstört NewSID das Betriebssystem endgültig.

    Aber die Lösung ist nah – wie auch in der NewSID-Seite beschrieben: “…we only support images that are prepared using SysPrep.”

    SysPrep.exe ist Bestandteil von Windows - in Windows Server 2008 (und R2), Windows Vista und Windows 7 in %windir%\system32\sysprep.

    Unter Windows XP ist SysPrep noch von der Installations-DVD in \Support\Tools\Deploy.cab zu entpacken - oder von Windows XP Service Pack 2 Deployment Tools zu laden, in Windows Server 2003 befindet sich SysPrep in der CAB-Datei der Windows Server 2003 SP1 bzw. SP2-Bereitstellungstools.

    Nach dem Aufruf muss nur “Verallgemeinern” (Generalize) markiert werden – siehe Screenshot:

    sysprep

    Das klappt einwandfrei (während des SysPrep-Vorganges geht sich locker der eine oder andere Kaffe aus…). Nach SYSPREP und dem Neustart erhält der Rechner einen neuen zufälligen Namen und eine neue SID.

    Eingetragene fixe IPs werden entfernt (dann auf DHCP), die Arbeitsgruppe bleibt. Ebenso bleiben die User mit ihren Kennworten erhalten und IIS-Einstellungen, Gruppenrichtlinien (z.B. WSUS), Erweiterte Firewall-Einstellungen, etc.

    Die Benutzerprofile werden neu erstellt und müssen neu eingerichtet werden und Windows muss mit Productkey neu aktiviert werden.

    Somit nicht viel Aufwand, die VM wieder einzurichten.
    Achja, die SID kann mit dem sysinternals-Tool PsGetSid <PC-Name> aus den sysinternals PsTools ausgelesen werden:

    psgetsid

    Hier finden sich alle gesammelten Links und weitere Informationen:

    Happy cloning!

    Beitrag von Toni Pohl

  • Exchange-Shapes für Visio

    Wer gerade mit einer Exchange-Migration zu Exchange Server 2007 beschäftigt ist oder schon immer mal seine Exchange-Umgebung sauber dokumentieren wollte, findet jetzt auch die passenden Visio-Shapes bei Microsoft zum Herunterladen.

    Visio Exchange Shapes

    Installationsanleitung

    1. Copy 2 files to your local C:\Documents and Settings\yourname\My Documents\My Shapes folder. (Beziehungsweise in den entsprechenden Benutzer Ordner, dem Betriebssystem entsprechend,.. also bei mir z.B. "F:\Georg\Documents\Meine Shapes\")
      1. MicrosoftExchangeServer2007_Icons.vst
      2. MicrosoftExchangeServer2007_Icons.vss
    2. Start Visio
    3. Select File, Open, then navigate to your My Shapes folder
    4. Open the file "MicrosoftExchangeServer2007_Icons.vst". The shapes will appear in the “Microsoft Exchange Server 2007 stencil” in the Shapes pane.

    Quelle: .: Daniel Melanchthon :. : Exchange-Shapes für Visio

    Beitrag von Georg Binder

  • Aus SkyDrive wird OneDrive

    Es wurde lange spekuliert, mit heutigem Datum wurde der neue Name des Microsoft Cloudspeichers “Skydrive” öffentlich bekanntgegeben:

    Aus SkyDrive wird OneDrive, aus SkyDrive Pro wird OneDrive for Business.

    Grund war eine Rechtsstreitigkeit mit der britischen Sky-Gruppe, wo sich Microsoft verpflichtet hatte, den Namen “Sky” nicht weiterzuverwenden. Nun ist es soweit und SkyDrive wird als Rebranding zu OneDrive. Wie lange es dauern wird, bis der neue Name in alle Bits Einzug gehalten hat (Apps, Windows 8.1, Office 365, Windows Phone, Apps für andere Phones,…) werden wir noch sehen. Auch ist der zuvor schon unglücklich gewählte Name SkyDrive Pro für den persönlichen Cloudspeicher in SharePoint Online mit OneDrive for Business recht sperrig, mal sehen, ob das tatsächlich so bleibt.

    image

    Mehr Infos dazu gibt es im Blog http://blog.onedrive.com/ und im Image-Video Introducing OneDrive (“You Need one drive for all…”).

    Introducing OneDrive

    Weitere Blogposts zum Rebranding in OneDrive gibt es unter anderem von Marijan Kelava in windowsblog.at: OneDrive: Microsoft präsentiert neuen Namen für SkyDrive und von Microsoft MVP Hans Brender – Spezialist für Alles rund um SkyDrive, äh OneDrive – in OneDrive ist der neue Name von SkyDrive .

    Übrigens, bei mir funktioniert mein persönlicher Cloudspeicher mit der URL http://skydrive.live.com/ nach wie vor, https://onedrive.live.com/ funktioniert noch nicht.

  • Update KB2982791 bitte vorerst wieder deinstallieren

    Am 12. August war Patchday. Mit den vielen Updates wurde auch Update 2982791 mit ausgeliefert. Microsoft empfiehlt, dieses Update wieder zu deinstallieren, da es zu Startproblemen führen kann. Betroffen sind vor allem Windows 7 Maschinen.

    Dieses Security Update behebt drei Sicherheitsschwachstellen, die zu unbefugten erhöhten Zugriffsrechten führen und wird von Microsoft in einer überarbeiteten Version wieder neu zur Verfügung gestellt.

    Der Originaltext der E-Mail Notifikation:

    MS14-045 - Important
    - https://technet.microsoft.com/library/security/ms14-045
    - Reason for Revision: V2.0 (August 15, 2014): Bulletin revised to remove Download Center links for Microsoft security update 2982791. Microsoft recommends that customers uninstall this update. See the Update FAQ for details.
    - Originally posted: August 12, 2014
    - Updated: August 15, 2014
    - Bulletin Severity Rating: Important
    - Version: 2.0

    Beschreibung des Updates und Infos zur Deinstallation – der Download Link für das Update wird nicht mehr ausgeliefert, für jene, die das Update bereits installiert haben: in der Systemsteuerung unter Programme / Installierte Updates das Update heraussuchen und deinstallieren.

    image

  • Wsusutil.exe - den WSUS in Schuss halten

    wsus Man kann es gar nicht oft genug sagen: haltet Eure Systeme fit, haltet Eure Systeme gepatcht, spielt Updates regelmässig ein, etc. etc.

    Viele werden das jetzt belächeln und als alten Hut abwinken, leider komme ich aber immer wieder zu Kunden, die Ihre Systeme nach wie vor nicht patchen, bzw. vom WSUS (Windows Server Update Services) noch nie gehört haben. Dabei ist es damit so einfach, ganze Netzwerke zu aktualisieren - ohne Administration per Pedes.

    Wer allerdings mit dem WSUS arbeitet, wird ihn nicht mehr missen möchten. Wenn da nicht die sache mit dem vielen Speicherplatz wäre. Update für Update wird geladen, da kommen schon etliche GBytes zusammen. Und so mancher Festplattenplatz, der eigentlich reichen müsste, wir immer enger und enger.

    Das passiert vor allem dann, wenn man mehrere Sprachen bzw. viele Programme synchrnisiert - WSUS hält ja mittlerweile nicht mehr nur Betriebssysteme, sondern auch Office, Visual Studio, SQL Server, etc. etc. am aktuellen (Update-)Stand.

    wsus1 Um den WSUS zu optimieren, gibt es das Tool wsusutil.exe, das bei jeder WSUS Installation mit dabei ist. Mit diesem Tool gibt es einige Einstellungsmöglichkeiten:

    WSUSUtil.exe export
    WSUSUtil.exe import
    WSUSUtil.exe migratesus
    WSUSUtil.exe movecontent
    WSUSUtil.exe reset
    WSUSUtil.exe deleteunneededrevisions
    WSUSUtil.exe listinactiveapprovals
    WSUSUtil.exe removeinactiveapprovals

    Was die einzelnen Befehle tun, können Sie hier in der englischen Technet nachlesen.

    Sollte man den WSUS etwas verkleinern wollen, hilft:

    WSUSUtil.exe deleteunneededrevisions

    Dieser Befehl macht gleich mal einige GB Platz auf einem Laufwerk - oft schon ausreichend, um einfach wieder mehr Platz zu haben. Wichtig vor dem Ausführen ist: den WSUS im IIS beenden!

    Ich habe mir dazu eine kleine Batchdatei angelegt, da wir mehrere WSUSe verwalten und dies ab und zu ausführen:

    cd [Systemlaufwerk]:\[Programmverzeichnis]\Update Services\Tools
    WSUSUtil.exe deleteunneededrevisions
    pause

    Tja, aber was, wenn dieser Eingriff doch nicht mehr ausreicht? Dann kommt movecontent zum Einsatz, wo mit einem Befehl die Content-Files des WSUS verschoben werden - auf eine - hoffentlich - größere Festplatte oder ein größeres Laufwerk.

    Die Syntax von movecontent lautet:

    wsusutil movecontent contentpath logfile -skipcopy

    Für eine Batchdatei:

    cd [Systemlaufwerk]:\[Programmverzeichnis]\Update Services\Tools
    WSUSUtil.exe movecontent [Laufwerk]:\[Name des ordners, wo hinverschoben werden soll]\ [Laufwerk]:\[Verzeichnisname]\logfilename.log
    pause

    Das Zielverzeichnis muss in NTFS formatiert sein. Der Vorgang kann schon eine Weile dauern, also bitte um Geduld!

    Nach dem erfolgreichen Verschieben sollte das Logfile so aussehen:

    2007-08-18T11:52:42 Successfully stopped WsusService.
    2007-08-18T11:52:42 Beginning content file location change to e:\WsusContent\
    2007-08-18T12:27:43 Successfully copied content files.
    2007-08-18T12:27:43 Successfully changed WUS configuration.
    2007-08-18T12:27:45 Successfully changed IIS virtual directory path.
    2007-08-18T12:27:45 Successfully changed registry value for content store directory.
    2007-08-18T12:27:45 Successfully changed content file location.
    2007-08-18T12:27:47 Successfully started WsusService.
    2007-08-18T12:27:47 Content integrity check and repair...
    2007-08-18T12:27:47 Initiated content integrity check and repair.

    Tja, den alten Content: den müssen Sie dann von Hand löschen....

    Übrigens: den WSUS gibt es jetzt bereits in der Version 3.0. Mehr darüber in einem späteren Beitrag. ;-)

    Wer ihn _wirklich_ noch nicht kennt, hier ein paar Links:

    Microsoft Windows Server Update Services

    Erste Schritte mit WSUS

    Patch Management, das neue Maßstäbe setzt

    Webcast zu WSUS

    Beitrag von Martina Grom

  • RDP 8.0 Update für Windows 7 SP1 und Windows Server 2008 R2 SP1

    Im Zuge der Launchaktivitäten von Windows 8 und Windows RT wurde das Remote Desktop Protocol 8.0 (RDP8) als Update (KB2592687) für Windows 7 SP1 (32-Bit/64-Bit) und Windows Server 2008 R2 SP1 veröffentlicht. Damit stehen die neuen RemoteFX Funktionen bei Verwendung der Remote Desktop Services (RDS) im Windows Server 2012 auf den bis jetzt aktuellen Windows Plattformen zur Verfügung.

    Das RDP8 Update enthält u.a.

    • Remote Desktop Connection 8.0 Client
    • Dynamische USB Umleitung innerhalb der Session
    • Unterstützung für Nested Sessions (Verschachtelung)
    • RemoteFX Media Redirection APIs für VoIP Anwendungen (z.B. Lync)
    • RemoteFX WAN Unterstützung

    Das RDP 8.0 Protokoll wird vor allem für gehostete Desktops zur Optimierung der Kommunikation zwischen Remote Desktop Clients und Remote Desktop Services (VDI & Session-Based) verwendet.

    Die vollständige Liste aller neuen Funktionen und die Download Links für Windows 7 SP1 32-Bit, Windows 7 SP1 64-Bit und Windows Server 2008 R2 SP1 sind im KB Artikel 2592687 aufgeführt.

  • Neujahrsgeschenk - IT Camp - Windows Server 2012 und Hybrid Cloud, 9.1.

    IT Camp - Windows Server 2012 und Hybrid Cloud - 9. Jan

    Ein frohes neues Jahr Euch allen! Ich hoffe ihr habt den Rutsch in´s neue Jahr gut überstanden, und der einzige Brand kommt vom großen Wissensdurst. Smile

    Für alle, die schon wieder in der Arbeit sind, oder zumindest unseren Blog lesen anbei ein kleines Neujahrsgeschenk: Wir haben für kurzentschlossene Arbeitstiere, die so richtig aktiv in das neue Jahr durchstarten wollen ein paar kostenlose Teilnehmerplätze für unser IT Camp: Windows Server 2012 und Hybrid Cloud reserviert.

    Worum geht es hier?

    Microsoft IT Camps – kostenlos, freestyle, hands-on:
    Auf den IT Camps für IT-Professionals könnt Ihr neue Lösungsansätze für aktuelle IT-Herausforderungen unter fachkundiger Anleitung praktisch ausprobieren. Das neue Trainingsformat legt den Schwerpunkt auf die Aufgaben und Technologien, mit denen Ihr als Administrator heute konfrontiert seid. Der Ablauf der Veranstaltung wird dabei von Euch, den Teilnehmern, mitgestaltet. Das bedeutet mehr Austausch, mehr Praxis und idealerweise auch mehr Spaß als bei klassischen Seminaren und Vorträgen.

    IT Camp – Windows Server 2012 und Hybrid Cloud:
    Windows Server 2012 bringt die ganze Erfahrung von Microsoft aus dem Aufbau und Betrieb unserer Public Cloud Services in das Betriebssystem – und macht es zu einer dynamischen, hoch-verfügbaren und kosteneffizienten Plattform für die Private Cloud und On-Premise Datenzentren. Durch seine Einfachheit und Effektivität in der Administrierung einer Serverlandschaft als Einheit führt Windows Server 2012 Euch weiter als Virtualisierung. Es hilft mit jeder App, in jeder Art von Cloud, und unterstützt Euch dabei, eine moderne Arbeitswelt zu ermöglichen.

    Erfahrt also am IT Camp, was dahinter steckt und erlebt die Features live.

    In Form von Demos und Szenarien gehen wir mit Euch auf Themen ein wie:

    • Management & Automatisierung: effiziente Verwaltung, vereinfachte Bereitstellung sowie elastische und stabile Automatisierung
    • Virtualisierung: vollkommene Virtualisierungsplattform, gesteigerte Skalierung und Performance; elastisch und flexibel zugleich
    • Speicher: effizient, performant und innovativ durch vielfältige Speicher-Möglichkeiten. Ständige Verfügbarkeit bei erhöhter Kosten-Effizienz
    • Web und Applikationsplattform: verbesserte Flexibilität, Skalierung, sowie Elastizität für Ihre Anwendung. Erhöhter Support für Open Frameworks und Open Source
    • Netzwerkbetrieb: vereinfachte Anbindung für Benutzer an IT-Diensten; Effizientes IT-Management Ihrer Rechenzentren und Privat Clouds sowie Verbindungsmöglichkeit mit Ihren Public Cloud Diensten
    • Identität und Zugriff: Daten/Ressourcenzugriff, -Verwaltung sowie -Absicherung. Vereinfachte Bereitstellung und Verwaltung einer Identitäts-Infrastruktur
    • VDI – Virtual Desktop Infrastructure: virtueller Zugriff von überall und allen Devices bei erhöhter Datensicherheit und Compliance.

    Um dem IT-Camp optimal folgen zu können, empfehlen wir dringend im Vorfeld einen kostenlosen Windows Azure Testzugang anzulegen. Dieser Testzugang ermöglicht die kostenlose Nutzung von Windows Azure für 90 Tage. So könnt Ihr ganz einfach zum Beispiel Windows Server 2012 bzw. 2008 R2 testen. Die Anmeldung zum Testzugang findet Ihr unter http://www.windowsazure.com/de-de/pricing/free-trial

    Wichtig! Da es sich um ein Hands-on Lab handelt, ist das Mitbringen eines eigenen Notebooks (idealerweise 64 Bit CPU, OS: mindestens Windows 7) erforderlich!
    Bitte achtet darauf, dass das Notebook keine Festplattenverschlüsselung und solche Virenscanner enthalten, die ggf. den Zugang zur Bootumgebung (BCD Store) verhindern.

    Zur Vorbereitung empfehlen wir die folgenden kostenlosen Testdownloads:

    Ebenfalls Ideal zur Vorbereitung auf die IT Camps sind die kostenlosen Online-Trainings der Microsoft Virtual Academy (MVA). Die MVA unterstützt IT-Professionals dabei, ihr Know-How speziell in den Bereichen der Infrastruktur rund um Windows Server und System Center zu erweitern. Unsere Kurs-Empfehlungen dazu:

     

    PS: Wir vergeben die Plätze prinzipiell auf einer “First Come – First Serve” Basis. Daher schnell anmelden!

    Wenn Ihr Eure Chancen verbessern wollt könnte Ihr uns ja einen Kommentar hinterlassen, warum gerade IHR absolut dabei sein müsst.

    Viel Glück!! Open-mouthed smile

    IT Camp - Windows Server 2012 und Hybrid Cloud - 9. Jan

  • Wie bekomme ich binäre Dokumente (BLOBs) aus dem SQL Server?

    Das Leben als Datenbank-Administrator steckt voller Überraschungen. Mal gehören Indizies erstellt oder neu aufgebaut, Volltextkataloge rebuildet, Datenbanken gebackupt, gewartet, restored und natürlich ist ein DB-Admin Ansprechpartner für alle weiteren auftretenden Probleme und Wünsche der IT und der Anwender.

    So hatte ich vor kurzem die Anforderung, in einer Datenbank gespeicherte Bilder “herauszuholen”, also klassische BLOBs (Binary Large Objects) als Dateien zu speichern.

    In meiner Datenbank existiert eine Tabelle “MyFiles” mit einer Spalte vom Typ IMAGE. Das Pendant ab SQL Server 2005 wäre der “neue” Datentyp VARBINARY; in meinem Fall handelt es sich um eine konvertierte DB aus SQL 2000 in SQL 2005.

    In der Spalte ”FIL_Content” ist der Dateistream einer Datei enthalten, z.B. JPG-Bilder, Word- und Excel-Dokumente, PDFs, (BLOB), also ganz egal welche Files (ab SQL 2008 gibt es übrigens einen eigenen Filestream-Datentyp. ;-)

    Die binären Dokumente können nicht simpel mit Copy & Paste herausgeholt werden, nur die entsprechende Applikation liest und schreibt die Dateien von und in die Datenbank. Diese binären Informationen aus der Tabelle sollen als Files gespeichert werden um sie weiterzuverwenden.

    So sieht die vereinfachte Tabelle aus, Auszulesen ist die Spalte FIL_Content:

    Tabelle MyFiles

    Natürlich könnte ich eine kleine .NET Applikation dafür bauen, aber ich wollte eine möglichst rasche Lösung. Und ich habe sie auch gefunden! Ein kleines T-SQL Script im SQLTeam.com Forum von "Peso". Dieses habe ich analysiert und wie folgt angepasst.

    save2file.sql Script

    (Das ganze Script gibt es hier zum Download, es läuft in SQL Server 2005 und 2008.)

     

     

    Ich habe das Script als Stored Procedure “save2file” angelegt. Die Funktionsweise kurz erklärt:

    Mit einem Cursor (Zeile 16) wird die gesamte Tabelle “MyFiles” durchlaufen und die selektierten Felder in Variablen eingelesen (Zeile 21). Dann wird der Pfad aus Feld FIL_ID und Dateiname zusammengebaut und ausgegeben (Zeile 25-28). Jetzt kommt der Clou: Es wird ein ADODB-Stream als OLE-Objekt angelegt (Zeile 30) und mit den Werten befüttert (Zeile 31 bis 34). Dieser Stream wird auf die Festplatte geschrieben (Zeile 33, 34) und das OLE Objekt zerstört (Zeile 36). Und weiter mit dem nächsten Datensatz (Zeile 38).

    Anzupassen ist natürlich der Pfad, wohin die Dateien gespeichert werden sollen (Zeile 27).

    Ausgeführt wird das Script wie gewohnt mit

    exec save2file

    Voila! Wenn alles stimmt, wurden die binary Contents als Files in den gew. Pfad extrahiert:

    save2file erzeugte Files

    Hinweis: Diese Vorgangsweise ist sehr rasch anwendbar, aber nicht unbedingt für “daily use” geeignet. Je nach Datenmenge ist das Erstellen eines OLE-Objekts nicht unbedingt “günstig”.

    Aber für den Ab-und-zu Export verdient das Script meine Empfehlung als “best practice”!

    Eine weitere Methode: KB258038: How To Access and Modify SQL Server BLOB Data by Using the ADO Stream Object mit dem VB Beispiel “Saving the Data in a SQL Server Image Column to a File on the Hard Disk” und “Transfer the Image Stored in a .gif File to an Image Column in a SQL Server Table”.

    In Teil Zwei geht es dann um den umgekehrten Weg – wie bekomme ich Files per T-SQL als BLOB in die Datenbank

    Möge T-SQL immer so hilfreich sein! ;-)

    Beitrag von Toni Pohl

  • Outlook Folder in der Landessprache

    Alt aber gut: immer wieder erhalte ich Anfragen, wenn ein Outlook beim Einrichten plötzlich meint, es sei englisch und der Posteingang heißt dann plötzlich Inbox, Gesendete Objekte heißen Sent Items u.s.w. Grundsätzlich ist dies nur ein kosmetisches Problem, trotzdem stört es die meisten User.

    image Ursache dafür ist meistens, dass “irgendeine” Software, z.B. ein Virenscanner oder etwas anderes statt der Landessprache in Englisch eingestellt ist oder man beim ersten Start von Outlook sein System noch in Englisch eingestellt hat.

    Die Lösung dafür ist sehr einfach: Es gibt in Outlook eine Reihe von Command Line Switches, die man verwenden kann. In diesem Fall heißt der magic Key: resetfoldernames.

    Aufzurufen so:
    outlook.exe /resetfoldernames

    Eine Liste aller Befehlszeilenoptionen finden Sie hier.

     

    Beitrag von Martina Grom

  • Delve und der Office Graph

    Wer kennt bereits “Delve”? Das ist der neue Name von “Oslo”. Ok, wer von “Oslo” noch nichts gehört hat: “Project Oslo” wurde im März auf der Microsoft SharePoint Conference vorgestellt. Damit wird der “Office Graph” innerhalb von Office 365 bezeichnet.

    Es handelt es sich um ein Service im Unternehmensumfeld, welches Daten aus verschiedenen Datenquellen sammelt und dann Informationen über einen Benutzer liefern kann. Der Office Graph “lernt” von den Daten und Aktionen von Benutzern innerhalb von Office 365 und bietet eine Schnittstelle zur Suche und Analyse von aktuellen Daten innerhalb eines Office 365 Tenants. Delve ist den Enterprise (Academic, Governmental) Plänen Office 365 E1 bis E4 enthalten.

    Microsoft selbst beschreibt den Dienst so: “Office Delve is a new way to discover relevant information and connections from across your work life.”

    Datenquellen

    Derzeit werden Inhalte aus OneDrive for Business und SharePoint Online indiziert. In den nächsten Monaten sollen weitere Datenquellen integriert werden, nämlich E-Mail (Exchange Online), E-Mail-Anlagen, OneNote, Yammer  und Lync.

    Wer findet wen

    “With Delve, information finds you versus you having to find information" sagt Office 365 Product Managerin Julia White in A milestone for Office Delve.

    Delve soll also mit seinem Dashboard aktuelle Informationen liefern, ohne dass Anwender selbst danach suchen müssen. Wichtig dabei ist, dass – wie etwa in SharePoint – nur jene Informationen angezeigt werden, auf welche der Benutzer auch Zugriff hat. Dieses Konzept zieht sich durch das ganze Office 365-System.

    Delve und die Sicherheit

    Viele fragen sich was Delve nun alles findet und welche “versteckten” Informationen man nun von anderen oder von sich selbst entdecken kann. Keine Sorge – WENN – die Sicherheitseinstellungen und Berechtigungen in SharePoint Online korrekt gesetzt sind, sieht eine andere Person auch nur, worauf sie berechtigt ist. Delve befolgt die Sicherheitseinstellungen (Berechtigungen und IRM Einstellungen). Hier finden Sie weitere Informationen dazu.

    Wann kommt Delve

    Derzeit ist Delve in Preview und soll ab Anfang 2015 für alle Office 365 Kunden, ob neu oder bestehend, ausgerollt werden. Delve kann jedoch schon jetzt in den Office 365 Plänen E1 bis E4 (Enterprise), A2-A4 (Academic) und G1-G4 (Government) von einem Administrator eines Office 365 Tenants in den Plänen aktiviert werden.

    Das Aktivieren funktioniert über die “Preview Features” im Office 365 Portal. Nach der Aktivierung dauert es etwa 24 Stunden, bis Delve in Ihrem Tenant vollständig zur Verfügung steht.

    Aktivieren der Preview Features in Office 365

    Sind in Ihrem Office 365 die Preview Features noch nicht aktiviert, gehen Sie links in den Menüpunkt Diensteinstellungen (Service Settings) und schalten dann den Schieberegler bei First Release ein.

    SNAGHTML13149e09

    Deaktivieren der Preview Features in Office 365

    Wenn die Preview Features in Office 365 eingeschalten sind, sehen Sie diese ebenfalls unter Diensteinstellungen, diesmal aber unter dem Menüpunkt Updates.

    SNAGHTML1310d97f

    Delve und der Office Graph

    Je mehr Aktionen innerhalb von Office 365 erfolgen, desto mehr Informationen werden im Office Graph aufscheinen. Der Office Graph muss nicht installiert werden, er ist seit kurzem in Office 365 integriert. Sobald Delve aktiviert ist, erscheint die Funktion in der blauen Office 365 Menüleiste.

    Hier ein Beispiel-Screenshot von “Delve”, wie die Preview im Office 365 Portal aussieht. Die URL von Delve lautet (derzeit) https://<MyDomain>-my.sharepoint.com/_layouts/15/me.aspx.

    image

    Delve zeigt Dokumente und deren Vorschau aus SharePoint Online, OneDrive for Business aus meinem Umfeld an, sprich auch von anderen (aktiven) Benutzern in meinem Office 365 Tenant. Das linke Menü “My work” zeigt meine eigenen letzten Dokumente an, “Shared with me” Dokumente, die mit mir geteilt wurden.

    Search” hilft rasch Dokumente aus verschiedenen Quellen zu finden. Nachdem die Suche die SharePoint-Search-Technologien verwendet, können hier auch die SP-Suchausdrücke verwendet werden wie etwa "azure and ne*".

    image

    Die Population des Office Graph erfolgt jedoch nicht unmittelbar, es dauert einige Zeit, bis neue Ergebnisse in Delve aufscheinen.

    Delve YamJam im Office 365 Technical Network

    Vor kurzem hat auch ein YamJam stattgefunden, an dem Mitglieder des Office 365 Technical Networks Fragen rund um Delve stellen konnten. Eine Zusammenfassung des YamJams findet sich hier. Falls sich der Link nicht öffnet, sind Sie noch kein Mitglied in Yammer, in diesem fall einfach anmelden, nach kurzer Zeit können Sie dort teilnehmen.

    Office Graph deaktivieren

    Um Delve zu deaktivieren, wechseln Sie in Office 365 in der SharePoint Online Verwaltung auf den Menüpunkt Einstellungen. Dort kann die Verwendung des Office Graph ausgeschaltet werden.

    SNAGHTML18893810

    Benutzerspezifische Delve-Einstellungen

    In den persönlichen Einstellungen kann jeder Benutzer selbst entscheiden, ob seine Aktivitäten und Dokumente von Delve gefunden werden sollen oder nicht.

    image

    Delve für Entwickler

    Für alle Developer, die den neuen Office Graph ausprobieren wollen: In codefest.at werden wir ein Beispiel zeigen, wie man den Office Graph programmatisch verwenden kann. Es wird auch eine Delve Windows 8 App geben.

    Viel Spaß beim Erforschen des Office Graph!

  • Neue Tools für Virtualisierung: Disk2VHD 1.4 und VMDK to VHD converter

    Das freie Tool Disk2vhd der System-Gurus Mark Russinovich und Bryce Cogswell aus den Windows Sysinternal liegt seit 1. Dezember in Version 1.4 vor (Details siehe auch hier im Blog Wie konvertiere ich einen physischen PC in einen virtuellen PC?).

    Disk2vhd kann auch per Kommandozeile gestartet werden, nämlich so einfach:
    disk2vhd * c:\vhd\snapshot.vhd

    Das Tool kann auch direkt von Live.Sysinternals.com gestartet werden! Run Disk2vhd

    disk2vhd_1_4

    …konvertiert den physischen PC in ein virtuelles VHD File zur Ausführung mit Virtual PC oder Hyper-V.

    Und noch ein Tool-Tipp:

    Vielleicht haben Sie die Anforderung, eine virtuelle Maschine aus VM-Ware unter Hyper-V laufen zu lassen?

    Es gibt mehrere Wege, dies zu bewerkstelligen. Ein Dritt-Hersteller hat jetzt ein freies Tool bereitgestellt, welches VMDK in VHD Dateien und auch umgekehrt VHD in VMDK Dateien konvertieren kann. Dabei wird eine Sektor-weise Kopieroperation gestartet, welche die Quelldateien unverändert lässt, sodass sie weiterverwendet werden können.

    Das Tool des Anbieters heißt StarWind (V2V) Converter, der Download der freien Produkte findet sich hier. Dazu ist nur das Formular mit einer gültigen E-Mail-Adresse auszufüllen. Ich selbst habe den StarWind Converter noch nicht ausprobiert, aber laut community scheint das recht gut zu funktionieren – für alle jene, die den Bedarf dafür haben.

    Beitrag von Toni Pohl

  • Sicherung von Hyper-V Maschinen mit Windows Server Backup

    Nicht jeder von uns hat einen System Center Data Protection Manager (DPM) zur Sicherung seiner virtuellen Maschinen zur Verfügung. Den wenigsten ist bekannt, dass es auch eine Möglichkeit gibt, Hyper-V virtuelle Maschinen unter Windows Server 2008 mit Windows Server Backup zu sichern. Dazu sind ja auch nur ein paar kleine Befehle nötig. :-)

    Gut beschrieben ist die ganze Vorgangsweise im KB958662. bzw. im Askcore Blog. (An dieser Stelle möchte ich mich bei unseren Lesern entschuldigen, dass ich es vorziehe auf den englischen Artikel zu verlinken, da ich die deutsche Version als nicht besonders gut leserlich empfinde).

    image Zunächst müssen Sie den Hyper-V VSS Writer von Windows Server Backup registrieren. Das funktioniert automatisch, indem man den Fix-It Button dieses Knowledgebase Artikels drückt.

    Gehört man eher zu jenen, die lieber selber alle Befehle eingeben, können Sie diese Befehle auch direkt in der Registry selbst eintragen:

    1. Click Start, click Run, type regedit, and then click OK.
    2. Locate the following registry key:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    3. Right-click CurrentVersion, point to New, and then click Key.
    4. Type WindowsServerBackup, and then press ENTER.
    5. Right-click WindowsServerBackup, point to New, and then click Key.
    6. Type Application Support, and then press ENTER.
    7. Right-click Application Support, point to New, and then click Key.
    8. Type {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}, and then press ENTER.
    9. Right-click {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}, point to New, and then click String Value.
    10. Type Application Identifier, and then press ENTER.
    11. Right-click Application Identifier, and then click Modify.
    12. In the Value data box, type Hyper-V, and then click OK.
    13. On the File menu, click Exit. 

    Nun können Sie die virtuellen Maschinen mit Windows Backup sichern. Bitte achten Sie hierbei darauf, dass alle Laufwerke gesichert werden, wo sich Dateien der zu sichernden virtuellen Maschine befinden. Virtuelle Maschinen ohne Integration Services schalten sich während des Backups in den Saved-State. Virtuelle Maschinen mit Betriebssystemen, die VSS nicht unterstützen (Windows 2000, Windows XP), schalten sich ebenfalls in den Saved-State. Virtuelle Maschinen mit dynamischen Datenträgern können nur offline gesichert werden.

    Zu diesem Thema habe ich auch einen ausgezeichneten Webcast gefunden, den Sie hier ansehen können. Hier wird unter anderem auch gezeigt, wie das Restore funktioniert, und wie man mit ein paar PowerShell Befehlen identifizieren kann, welche Maschine welche ist.

    Anbei noch ein Link zur Spezifikation von Hypersivor 2.0 für Windows Server 2008 R2.

    Beitrag von Martina Grom

  • Windows 8.1 Update 1 Language Packs für MUI Clients

    Seit Anfang April sind die ISO Images für Windows 8.1 inkl. Update 1 (Spring 2014) für das erleichterte Ausrollen neuer Computer als Download verfügbar. Das betrifft vor allem Unternehmen, die VL Medien mit den Reimaging Rechten verwenden und Referenzimages erstellen. Das Spring 2014 (S14) Update für Windows 8.1 ist die neue Referenz für zukünftige Patches. Bis heute war es so, dass neue, einsprachige Referenzimages problemlos mit den Windows 8.1 inkl. Update ISO Images als Basis erzeugt werden konnten, nur die Delta Patches werden nachinstalliert. Anders war das Verhalten bei mehrsprachigen Referenzimages. Wurde z.B. das Windows 8.1 inkl. Update Image in Englisch als Referenz genommen und danach das Deutsche Sprachpaket (MUI Language Pack) installiert, so war dieses bis heute nur ohne eingearbeitetem Update 1 verfügbar, das Update für spachspezifische Inhalte musste demnach nochmals installiert werden. Seit heute sind endlich auch die MUI Sprachpakete für Windows 8.1 inkl. Update 1 als Download verfügbar (KB Artikel 2938322). Mehrsprachige Clients können damit erzeugt werden, das Spring 2014 Update muss im Anschluss nicht noch einmal installiert werden.

    Das Language Pack Update 1 ist selbstverständlich auch für Windows Server 2012 R2 Systeme verfügbar, wenn die Basis ein Windows Server 2012 R2 Update 1 ISO Image ist, welches z.B. die Basis für RDS Session Hosts (vorm. Terminal Services) für mehrsprachige gehostete Desktops ist.

    Kurz vor der offiziellen Freigabe des kumulativen Updates für Windows 8.1 wurde die Update Nummer (1) aus der offiziellen Bezeichnung entfernt, man spricht daher vom Windows 8.1 Update. Nachdem es aber viele “Updates” für Windows 8.1 gibt habe ich zur besseren Unterscheidung meist die Bezeichnung Windows 8.1 Update 1 oder die davor interne Bezeichnung Spring 2014 Update, die sich auch in der Registry als S14 referenziert, findet. Außerdem wurde in der Keynote auf der Build 2014 Konferenz ein weiteres kumulatives Update für Windows 8.1 ohne näherem Zeitpunkt vorgestellt. Dieses wird für Windows 8.1 wieder ein Start Menü im modernen Look & Feel bringen. Dieses zweite kumulative Update für Windows 8.1 wird dann höchstwahrscheinlich als Update 2 bezeichnet werden.