Kategorieauswahl

Recovery

Wenn’s mal nicht mehr klappt…

Soll ich bei IIS 7.x den Usermode-, oder den Kernelmodecache aktivieren, oder beide?

Die Antwort lautet wie üblich: Es kommt ganz darauf an! 😉

Fakten: Kernelmodecache ist schneller als Usermodecache, da ein Übergang in den Usermode immer viel Zeit kostet! Wenn ein Webserver im Normalfall ca. 550/s Anfragen schafft, so werden daraus bei aktiviertem Usermodecache ca. 650/s, bei Kernelcache 950/s. Aktiviert man bei geht er knapp über 1000/s. Allerdings hat man dafür nicht immer genug Speicherreserven.

Des Weiteren ist es davon abhängig wie IIS mit der jeweiligen Website arbeitet. Wird von der Webanwendung mehr im Usermode gearbeitet, ist es sinnvoller den Usermodecache zu aktivieren, arbeitet Sie mehr im Kernelmode, natürlich lieber den Kernelcache. Dazu muss man allerdings wissen, wie die jeweilige Webanwendung tickt. Das verrät der folgende Powershell-Befehl:

Get-WmiObject win32_process | ? {$_.caption -eq "w3wp.exe"} | select commandline,usermodetime,kernelmodetime | fl

Ausgabe sind alle Workerprozesse vom IIS. Dabei wird als erstes angezeigt, welcher Applicationpool sich hinter dem Workerprocess versteckt und danach folgen die Zeiten die er sich im User und im Kernelmode aufhält. Anhand dieser Zahlen kann man sehr schön festlegen, welche Cacheart die sinnvollere für den jeweiligen Applicationpool und den damit verknüpften Websites ist. Zugegeben ,man hätte das ganze noch viel eleganter Lösen können am besten gleich mit der automatischen Cachekonfiguration. Aber das war eben mal so auf die Schnelle Quick & Dirty eben ;-).

Kostenloser offline Virenscanner von Microsoft

Basierend auf den guten Microsoft Security Essentials bietet Microsoft einen kostenlosen offline Virenscanner zum download an. Microsoft System Sweeper kann entweder von einem USB-Stick gestartet werden oder von CD. Als Betriebssystembasis wird Windows PE eingesetzt. Der Scanner aktualisiert seine Virenmuster automatisch über das Internet um auf dem neuesten Stand zu bleiben.

Keine Zeit um F8 zu drücken um Windows im abgesicherten Modus zu starten

Wenn Sie nicht schnell genug F8 drücken können um Windows im abgesicherten Modus zu starten z. B. wenn Windows in einer VM (virtuellen Maschine) läuft können Sie msconfig aufrufen. Setzen Sie beim Karteikartenreiter Start das Häkchen Abgesicherter Start und starten Sie Windows neu. Beim erneuten Hochfahren geht Windows automatisch in den Auswahldialog.

Flashplayer bei Ubuntu 11 (Natty Narwal) funktioniert nicht mehr nach Aktualisierung auf Firefox 6

Ich mag zwar kein Flash eben aus genau diesem Grund, dass das Ding immer nur 2 Wochen funktioniert und dann 1 Monat nicht mehr und X Sicherheitslücken mitbringt, aber hier die Lösung (bash Kommandozeile) für die Leid geplagten, die doch noch vereinzelte Websiten mit Flash ansurfen:

sudo apt-get purge flashplugin-installer flashplugin-nonfree gnash

Ja, Sie müssen das Root-Kennwort eintippen! Dabei wird das aktuelle Flash-Plugin gelöscht (funktioniert ja eh nicht).

sudo updatedb

Weil es so viel Spaß macht, gleich noch einmal ;-). Damit wird für den nachfolgenden Befehl die locate Datenbank aktualisiert.

locate libflashplayer.so

Der Befehl sucht nach irgendwelchen Überbleibseln. Alles was gelistet wird bitte löschen.

sudo apt-get install --reinstall flashplugin-installer

Damit wird die funktionierende Version eingespielt (natürlich noch Mal die Frage nach der netten Tante Root). Fragt mich bitte nicht warum das jedes Mal so ein Akt mit dem Adobe-Schrott sein muss. Liebe Websiteprogrammierer, wenn Ihr das hier zufällig lest, seid so gut und entfernt die diesen Adobe Müll von Eurer Seite. Ihr könnt doch Programmieren, oder? Nehmt Silverlight/Moonlight, oder HTML 5 aber bitte schmeißt endlich den Flash von Eurer Seite! Der macht nur Ärger. Selbst unter Windows musste man ewig auf eine 64-Bit Version warten. Nur inkompetente Mausschubser erstellen noch Websites mit Flash, weil sie es nicht besser können!

Einfache Powershell-Befehle für den Active Directory Papierkorb und eine GUI

Hier ein kleines Powershellscript, dass die Powershell um einfache Befehle für die Verwaltung und Einrichtung des Active Directory Papierkorbs erweitert (sollte der Downloadlink nicht angezeigt werden, klicken Sie bitte auf die Überschrift des Artikels):

AD-Papierkorb-Cmdlets

Um den AD-Papierkorb zu aktivieren muss das Script als Organisationsadministrator ausgeführt werden, da nur dieser berechtigt ist im gesamten Forest den Papierkorb zu aktivieren. Dieses Feature kann nicht auf Domänenebene aktiviert werden. Der Forestlevel muss auf 2008 R2 hochgestuft sein. Falls Sie befürchten, dass irgendwelche schädlichen Aktionen im Script versteckt sind, schauen Sie einfach hinein, oder lassen Sie es von jemand überprüfen der sich damit auskennt.

Wurde der Papierkorb bereits aktiviert, kann das Script zukünftig auch als Domänenadministrator aufgerufen werden.

Das Script selbst schafft zunächst nur die Voraussetzungen für die Befehle, damit diese auf der aktuellen Maschine in der aktuellen Domäne ausgeführt werden können und baut die Befehle als Funktion in Ihre aktuell laufende Powershell ein. Wenn Sie die aktuelle Powershell Konsole schließen sind die Befehle auch schon wieder vergessen. Sie müssen also jedes mal das Script starten, bevor Sie auf die Befehle zugreifen können. Selbstverständlich dürfen Sie das Script auch verändern, damit es zukünftig zu Ihrem Standardbefehlssatz gehört.

Der Papierkorb kann nur Objekte wiederherstellen, die nach seiner Aktivierung gelöscht wurden. Die Befehle können alle Objekte wieder herstellen, also nicht nur Benutzer ,Gruppen OUs und Computer.

Hier nun die 3 einfachen Befehle zur Verwaltung des Papierkorbs die sich automatisch an die Domäne in der Sie sich angemeldet haben anpassen:

Start-RecycleBin

Achtung! Ist der Papierkorb aktiviert, kann diese Funktionalität (generell – auch über die Standardwerkzeuge) nicht mehr zurückgezogen werden.

Einfach nur eintippen und der Papierkorb wird aktiviert. Ggf. fragt das Script noch ein paar Dinge ab. Auf jeden Fall informiert der Befehl darüber ob der Papierkorb aktiviert ist.

Show-DeletedADObjects

Aufruf auch hier ohne weitere Parameter. Zeigt alle sich derzeit im Papierkorb befindlichen Objekte an.

Restore-DeletedADObjects Suchbegriff

Dieser Befehl holt gelöschte Objekte aus dem Papierkorb zurück. Geben Sie den Befehl gefolgt von einem Suchbegriff ein. Der Suchbegriff verarbeitet keine Platzhalterzeichen wie z.B. ein *. Dies wird automatisch im Script vor und nach dem Suchbegriff eingesetzt. Sollten Sie nicht wissen was Sie gelöscht haben, können Sie sich mit Show-DeletedADObjects einen Überblick über den Inhalt des Papierkorbs verschaffen.

Wenn Sie eine komplette OU gelyncht haben, können Sie einfach den Namen der OU angeben. Alle enthaltenen Objekte werden automatisch mit angezeigt.

Der Befehl stellt nicht einfach alles wieder her was dem Suchbegriff entspricht, sondern listet erst einmal alles was er zum Suchbegriff findet und fragt dann nach ob er die Objekte wiederherstellen soll. Dies beantworten Sie dann mit Ja oder Nein.

Grafische Oberfläche für den AD-Papierkorb mittels Powershellscript:

Wenn Sie zu den Mausschubsern gehören, können Sie auch das folgende Powershellscript nutzen um per GUI (grafischer Oberfläche) den AD-Papierkorb zu verwalten:

AD-Recyclebin-Tool

Vorteile des Scripts:

  • Multiple Domain tauglich
  • Löschzeitraum kann angegeben werden
  • Schneller als so manche kommerzielle .EXE Datei
  • Kann mit etwas Glück sogar Objekte restaurieren, die vor Aktivierung des Papierkorbs gelöscht wurden.

GUIADRecycleBin

 

 

 

Das ZIP-Archiv ist in einen Ordner Ihrer Wahl zu entpacken. Darin enthalten sind ein paar Icons und das Script selbst. Einfach nur das Script ohne Parameter starten.

Der Einsatz der Scripte für den AD Papierkorb ist auch für den gewerblichen Einsatz kostenfrei. Gegen eine Spende (siehe PowerShell-Buch) habe ich aber sicher nichts einzuwenden ;-). Eine Haftung bei evtl. auftretenden Schäden wird nicht übernommen. Verbesserungsvorschläge nehme ich gerne über Kommentare oder das Kontaktformular entgegen.

Terminalserverprofilepath mittels Powershell abfragen

Benutzer aus dem AD (Active Directory) mit Powershell auszulesen ist nicht besonders schwierig. Alles was man dazu braucht ist entweder einen DC (Domänencontroller) oder einen Client mit installiertem AD-Modul für Powershell aus den RSAT (Remote-Server-Administration-Tools) und natürlich die Powershell Version 2.0 oder höher.

Mit dem Befehl get-aduser Benutzername erhält man aber nur einen kleinen Teil der Benutzereigenschaften. Wenn Sie mal richtig aufdrehen wollen (alle Eigenschaften haben) müssen Sie erst noch einmal etwas nachhelfen: get-aduser Benutzername -properties *. Leider ist der Pfad, den mal eventuell im Terminalserver bzw. Remotedesktopdienste -Profilepfad angegeben hat dort nicht wirklich auszulesen. Es gibt im LDAP zwar extra das Attribut msTSProfilePath doch legt Microsoft dort überhaupt nichts ab!!! Der Profilepfad ist im Attribut userParameters mit viel anderem Krempel leider codiert hinterlegt. Nichts desto trotz kann man hier wenigstens feststellen ob der TS Profilpfad beim Benutzer angegeben wurde, oder nicht. Das unten aufgeführte Script sollte weiter helfen. Wünschen Sie Verbesserungen/Anpassungen hinterlassen Sie einen entsprechenden Kommentar.

 

function SetTSProperties()
{
 $ou = [adsi]"LDAP://ou=mytestou,dc=nwtraders,dc=com"
 $user = $ou.psbase.get_children().find($userDN)
 $user.psbase.invokeSet("allowLogon",1)
 $user.psbase.invokeSet("TerminalServicesHomeDirectory",$hDirValue)
 $user.psbase.invokeSet("TerminalServicesProfilePath",$ppValue)
 $user.psbase.invokeSet("TerminalServicesHomeDrive",$hdValue)
 $user.setinfo()
} #end SetTSProperties
function QueryTSProperties()
{
 $ou = [adsi]"LDAP://ou=mytestou,dc=nwtraders,dc=com"
 $user = $ou.psbase.get_children().find($userDN)
 foreach($property in $aryTSProperties)
 {
  "$($Property) value: $($user.psbase.invokeget($Property))"
 } #end foreach
} #end QueryTSProperties
$userDN = "CN=My User"
$hDirValue = "\\Hamburg\TSUsers\Home\TestUser"
$hdValue = "t:"
$ppValue = "\\Hamburg\TSUsers\Profiles\TestUser"
$aryTSProperties="allowLogon","TerminalServicesHomeDirectory",
  "TerminalServicesHomeDrive","TerminalServicesProfilePath"
SetTSProperties
queryTSProperties

Password Recovery

Cain&Abel ist ein Password Recovery Tool mit dem man vergessene Passwörter unter Windows knacken kann. Kennwörter können also wiederhergestellt werden. Genauso gut kann man es natürlich auch auf der dunklen Seite der Macht einsetzen. Aber Vorsicht!!! Das ist strafbar!!!

Anwendungsinstallation unter Windows überwachen

TrackWinstall kann eine Anwendungsinstallation unter Windows (ab W2k -> Windows 2000,XP,2003,Vista,7,2008) überwachen. Jegliche Änderungen die während der Installation am Dateisystem oder der Registry vorgenommen werden schreibt TrackWinstall in eine Protokolldatei.

Vertrauensstellung zwischen Active Directory Client und Domänencontroller

Manchmal verlieren AD Clients die Vertrauensstellung zu Ihren Domaincontroller. Dies kann vor allem dann passieren, wenn man den Client gerade vom Backup wiederhergestellt hat. Dies liegt meist daran, dass das Kennwort des Clients seit der Durchführung des Backups geändert wurde. Im Backup ist nun ein veraltetes und somit nicht mehr gültiges Password enthalten.

Ob der Client mit den DC noch eine Vertrauensstellung hat findet man mit dem Befehl (an der Eingabeaufforderung):

nltest /sc_query:Domänenname

heraus. Sollten dabei Fehler gemeldet werden kann man mittels:

netdom reset 'Computername' /domain:'Domänenname'

oder

nltest /sc_reset:Domänenname\Domänencontrollername

versuchen die Vertrauensstellung und damit übereinstimmende Kennwörter zwischen Client und DC wiederherzustellen. Mit PowerShell können Sie das ebenfalls versuchen indem Sie:

Test-ComputerSecureChannel –Repair

eingeben

Bin ich Admin?

Seit Vista stellt sich man sich bei Windows oft die Frage, ob man denn nun gerade ein vollwertiger Administrator ist, oder nicht. Das kann man mit dem Befehl whoami /groups herausfinden. Das kann u.U. ein Weilchen dauern (das Längste was ich einmal gewartet hatte waren 20 Minuten)!! Normaler Weise der unterste Gruppeneintrag gibt Aufschluss über die sog. Verbindlichkeitsstufe. Als „normaler“ Benutzer hat man in der Regel die Verbindlichkeitsstufe Mittel mit der SID S-1-16-8192. Als Admin mit vollwertigen Systemrechten hingegen Hoch und der SID S-1-16-12288. Testen können Sie das, wenn Sie als normaler Benutzer angemeldet cmd und Enter im Suchfeld (nicht im Ausführen-Feld!) des Startmenüs eintippen und dann den o.g. Befehl eintippen. Parallel können Sie den Vorgang noch einmal wiederholen, aber dieses Mal bestätigen Sie cmd nicht einfach nur mit Enter, sonder drücken dazu noch Strg+Shift. Wenn Sie es richtig gemacht haben, sollte die UAC anspringen und um Bestätigung bitten. Wenn Sie den Befehl whoami nun hier eintippen sollte im Gegensatz zur 1. Eingabeaufforderung Hoch herauskommen.