Autostart-Ordner unter Windows 8/8.1/10 bzw. Server 2012/R2 öffnen bzw. spezielle Shell Kommandos

Unter Windows 7 und Server 2008/R2 kommt man ja sehr bequem an die Autostartordner von AllUser und dem angemeldeten Benutzer:

Zugriff auf die Autostartordner von AllUsers und dem angemeldeten BenutzerUnter Windows 8/8.1/10 bzw. dem Serverpendant 2012/R2 funktioniert das mangels Startmenü leider so nicht mehr. Dafür gibt es jetzt Shell-Schnellcodes, mit denen man ans gewünschte Ziel kommt:

Autostart-Ordner des Benutzers: Windowstaste-R & shell:Startup
Autostart-Ordner für alle Benutzer: Windowstaste-R & shell:Common Startup

Eine vollständigere Liste der speziellen Shell Kommandos für Windows 7, 8.X & 10 findet man z.B. hier:

 

Sonnenauf- und -untergang in Hahnenklee (Harz)

Anfang März konnte ich in Hahnenklee einen tollen Sonnenuntergang erleben (07.05.2015 18.13h bis 18.14h):

Sonnenuntergang in Hahnenklee 1       Sonnenuntergang in Hahnenklee 2
Sonnenuntergang in Hahnenklee 3

Letzten Mittwoch (02.09.2015) konnte ich dann einen tollen Sonnenaufgang festhalten (morgens um 6.31h bis 06.35h):

Sonnenaufgang in Hahnenklee 1
Sonnenaufgang in Hahnenklee 2
Sonnenaufgang in Hahnenklee 3
Sonnenaufgang in Hahnenklee 4
Sonnenaufgang in Hahnenklee 5
Sonnenaufgang in Hahnenklee 6
Sonnenaufgang in Hahnenklee 7

Beide Serien in zeitlicher Reihenfolge, auch wenn es teilweise anders wirkt.

 

Digitaler Wasserkocher bei Aldi Nord!

Was entdeckten heute Morgen meine noch leicht schläfrigen Augen:

Digitaler Wasserkocher von Aldi

Digitaler Wasserkocher von Aldi

Was zum Geier ist an einem Wasserkocher Digital? Ich habe auch weder einen USB-Anschluß noch eine Beschreibung von Features wie Bluetooth, NFC oder WLAN auf der Packung entdecken können. Vermutlich will der Hersteller damit die Minimalelektronik mit der Möglichkeit, 4 verschiedene Temperaturen wählen zu können, mit einem Buzzword an den Kunden zu bringen, von dem er meint, daß es den 08/15 Aldikunden überzeugen könnte.

Herr bzw. Universum: Laß doch bitte ausreichend Hirn vom Himmel purzeln!!!

Problem mit dem zusätzlichen Paßwortschutz des WordPress Administrationsbereichs

Ich habe alle meine WordPress-Installationen aus Sicherheitsgründen mit einem zusätzlichen Paßwortschutz über die Basic-Authentifizierung des Apache ausgestattet, wie es z.B. in diesem Artikel beschrieben ist: Initiative: Mehr Sicherheit für WordPress durch den “Admin”-Schutz. Alles wunderbar, bis eine Seite mit zusätzlichem Paßwortschutz abgerufen wurde. Dabei wird beim Absenden des Paßwortformulars /wp-login.php?action=postpass aufgerufen und das Script fällt unter den zusätzlichen Paßwortschutz. Momentan habe ich noch keine Lösung dafür, außer den Paßwortschutz vorübergehend wieder zu deaktivieren. Murks!

Ergänzung zum Beitrag Core-Dumps beim Apache Start mit aktiviertem PHP

Welche Auswirkungen die falsche Reihenfolge der PHP Module in der extension.ini haben kann, zeigte sich heute an dem FreeBSD 10 Server, den ich gerade als  Nachfolger aufsetze:

===>>> Starting build for ports that need updating <<<===

===>>> Launching child to install comms/pear-Horde_ActiveSync

===>>> All >> comms/pear-Horde_ActiveSync (1/8)

===>>> Currently installed version: pear-Horde_ActiveSync-2.19.0
===>>> Port directory: /usr/ports/comms/pear-Horde_ActiveSync

===>>> Starting check for build dependencies
===>>> Gathering dependency list for comms/pear-Horde_ActiveSync from ports
===>>> Dependency check complete for comms/pear-Horde_ActiveSync

===>>> All >> pear-Horde_ActiveSync-2.19.0 (1/8)

===>  Cleaning for pear-Horde_ActiveSync-2.19.3
===>   pear-Horde_ActiveSync-2.19.3 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by pear-Horde_ActiveSync-2.19.3 for building
===>  Extracting for pear-Horde_ActiveSync-2.19.3
=> SHA256 Checksum OK for Horde/Horde_ActiveSync-2.19.3.tgz.
===>  Patching for pear-Horde_ActiveSync-2.19.3
===>   pear-Horde_ActiveSync-2.19.3 depends on file: /usr/local/share/pear/.channels/pear.horde.org.reg - found
===>   pear-Horde_ActiveSync-2.19.3 depends on executable: pear - found
===>  Configuring for pear-Horde_ActiveSync-2.19.3
===>  Staging for pear-Horde_ActiveSync-2.19.3
===>   Generating packing list with pear
*** Signal 11

Stop.
make: stopped in /usr/ports/comms/pear-Horde_ActiveSync

===>>> make stage failed for comms/pear-Horde_ActiveSync
===>>> Aborting update

===>>> Update for comms/pear-Horde_ActiveSync failed
===>>> Aborting update

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> comms/pear-Horde_ActiveSync devel/pear-Horde_Core archivers/pear-Horde_Pack textproc/pear-Horde_CssMinify www/pear-Horde_Dav databases/pear-Horde_Db mail/pear-Horde_Imap_Client devel/pear-Horde_Timezone

Nachdem ich auch hier die Reihenfolge der Module entsprechend abgeändert hatte, lief das Update problemlos. Ein Core Dump mit Signal 11 habe ich sonst bislang nur bei defektem Ram oder ähnlichem erlebt. Deshalb wäre ich hier normalerweise nie auf die Idee der falschen Ladereihenfolge der PHP Module gekommen.

Core-Dumps beim Apache Start mit aktiviertem PHP

Seit einiger Zeit kämpfte ich nach nahezu jedem Update von Apache oder PHP damit, daß anschließend mein Webserver beim Starten mit Core Dump die Grätsche machte. Ich habe dann eigentlich immer erstmal PHP komplett deaktiviert, damit die Websites die ohne PHP laufen, nicht beeinträchtigt wurden. Dann habe ich so lange verschiedene PHP Module neu kompiliert, bis es irgendwann wieder ging. Das war teilweise ein langes, nerviges Vorgehen und vor allem war mir trotz ausführlichem Googlen weder die echte Ursache noch die wirkliche Lösung ersichtlich. Das Problem äußerte sich neben dem kommentarlosen Crash des Indianers durch folgende Einträge im PHP-Log:

[15-Oct-2014 01:07:42 Europe/Berlin] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/memcache.so' - /usr/local/lib/php/20121212/memcache.so: Undefined symbol &quot;php_session_create_id&quot; in Unknown on line 0
[15-Oct-2014 01:07:42 Europe/Berlin] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/memcached.so' - /usr/local/lib/php/20121212/memcached.so: Undefined symbol &quot;ps_globals&quot; in Unknown on line 0
[15-Oct-2014 01:07:43 Europe/Berlin] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/igbinary.so' - /usr/local/lib/php/20121212/igbinary.so: Undefined symbol &quot;ps_globals&quot; in Unknown on line 0
[15-Oct-2014 01:07:43 Europe/Berlin] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/soap.so' - /usr/local/lib/php/20121212/soap.so: Undefined symbol &quot;ps_globals&quot; in Unknown on line 0
[15-Oct-2014 01:07:43 Europe/Berlin] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/wddx.so' - /usr/local/lib/php/20121212/wddx.so: Undefined symbol &quot;ps_globals&quot; in Unknown on line 0

Heute habe ich dann scheinbar besser gesucht bzw. bin endlich auf die offizielle Seite des Moduls gegangen und habe dort tatsächlich die Lösung gefunden:

Abstürze und Startprobleme von PHP können auftreten, wenn die Recode-Extension nach einer der beiden Extensions mysql oder imap geladen wird. Wenn die Recode-Extension vor den genannten anderen geladen wird, tritt das Problem nicht auf.

Nachdem ich das Modul in der /usr/local/etc/php/extensions.ini von fast letzter an die zweite Stelle verschoben hatte, klappte es auch wieder problemlos mit dem Starten des Indianers!

Ich hoffe, damit ist dieses Problem für immer erledigt.

Uptime von Windows Servern ermitteln

Unter Unix/Linux gibt es ja das schöne, altgediente uptime. Unter Windows gibt es kein Pendant dazu. Aber so kann man es auch einfach rauskriegen. uptime.cmd:

@echo off
REM
REM Dirk Dettmering
REM
net statistics server | find /I "since"

Gefunden habe ich es hier.

Bei Passwortänderungsscript den Aufruf aus der Shell-History raushalten

Für einen OPSI-Server habe ich ein kleines Script geschrieben, mit dem mit einem Aufruf die Paßwörter für das System selber, Samba und OPSI in einem Rutsch neu gesetzt werden kann. Bei Nutzung des OPSI-Server mit einer etwas größeren Zahl von Admins bzw. Paket-Zuweisern und Systemaufsetzern ist es ab und zu mal notwendig, daß auch ohne Root-Zugang für Zweite die Paßwörter in allen 3 Systembereichen durch Dritte neu gesetzt werden können:

/usr/local/bin/opsipasswd.sh:

#!/bin/bash
#
# Dirk Dettmering
#
# Script zur gleichzeitigen Aenderung des Passwortes eines Users fuer System, OPSI und Samba
# Beim Aufruf des Scriptes muss der Username und das gewuenschtes Paßwort uebergeben werden.
#
if [ "$2" == "" ]; then
    echo ""
    echo ""
    echo "           Ohne Parameter mag ich aber nicht! ;-) ..."
    echo ""
    echo "Dem Script muss Username und gewünschtes Paßwort übergeben werden"
    echo "Die Reihenfolge ist dabei nicht egal sondern immer erst Username und"
    echo "dann das Paßwort!"
    echo "Also bitte so: [sudo] opsipasswd.sh <username> <password>"
    echo "sudo ist erforderlich, wenn man das Script nicht als root-User aufruft!"
    echo ""
    exit 1
fi
WERBINICH=`whoami | id -u`
if [ "$WERBINICH" != "0" ]; then
    echo ""
    echo "                      Du kleiner Depp, du Depperter! "
    echo "     Muttu root sein oder das Script via sudo aufrufen, damit es funktioniert!"
    echo ""
    exit 1
fi
# System-Passwort setzen:
/usr/local/sbin/passwd.exp $1 $2 > /dev/null 2>&1
clear
    if [ $? -gt 0 ]; then
        echo "Achtung, das Neusetzen des System-Paßwortes war nicht erfolgreich!"
    fi
# Samba-Passwort setzen:
/usr/local/sbin/smbpasswd.exp $1 $2 > /dev/null 2>&1
clear
    if [ $? -gt 0 ]; then
        echo "Achtung, das Neusetzen des Samba-Paßwortes mit war nicht erfolgreich!"
    fi

/usr/bin/opsi-admin -d task setPcpatchPassword -u $1 -p $2
clear
if [ $? -gt 0 ]; then
    echo "Achtung, das Neusetzen des OPSI-Paßwortes war nicht erfolgreich!"
fi

/usr/local/sbin/smbpasswd.exp:

#!/usr/bin/expect -f
   set password [lindex $argv 1]
    spawn smbpasswd -a [lindex $argv 0]
    expect {
      -re "password:" {sleep 1; send "$password\r"; exp_continue}
     -re "password:" {sleep 1; send "$password\r";}
   }

Das Speichern des Scriptaufrufs in der History verhindere ich dann durch Setzen folgender Shellvariabelen in der /etc/bash.bashrc:

export HISTIGNORE="opsipasswd.sh *:passwd *:smbpasswd *"

 

Freigaben eines Fileservers aus der Registry sichern

Fileserver mit sehr vielen Freigaben verlieren bei uns manchmal einen Teil ihrer Freigaben nach einem Reboot (das betrifft vor allem das „wunderbare“ Produkt AiO von HP mit dem eigentlich für Fileserver optimierten Windows Server 2003 Storage!). Um die fehlenden Freigaben inklusive der Freigaberechte schnell wiederherzustellen, sollte man vor dem Reboot die Freigaben als Export der Registry sichern:

@echo off
 REM Freigaben aus der Registry auslesen
 REM
 REM Dirk Dettmering
 REM
 set datum=%date:~-4%-%date:~-7,2%-%date:~-10,2%
 set zeit=%time:~-11,2%h-%time:~-8,2%m
 set DateiName=%COMPUTERNAME%_Registry-FreigabenExport_%datum%_%zeit%.reg
 REM Export lokal ablegen:
 regedit /E C:\Tools\Backup\Freigaben\%DateiName% HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Shares
 REM Export auf Freigabe$ ablegen:
 regedit /E \\Fileserver\Freigabe$\BACKUPs\Freigaben_Registry-Exporte\%DateiName% HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Shares
 REM

Mit diesem Export lassen sich die Freigaben dann sehr einfach wieder herstellen:


@echo off
REM Freigaben wiederherstellen durch Import in die Registry
REM
REM Dirk Dettmering
REM
IF "%1"=="" GOTO Continue
	REM Daten der Freigaben importieren:
	regedit /S %1
	net stop server 2>nul
	net start server
	GOTO END
:Continue
ECHO
ECHO
ECHO Batchdatei wurde ohne Registryexport als Parameter aufgerufen!
ECHO
PAUSE
:END

Alte Freigaben-Verwaltung von XP/2003 unter Server 2008/2012 nutzen

Die Freigabe- und Speicherverwaltung unterhalb von Rollen im Server-Manager von Windows Server 2008 bietet ja lange nicht mehr die von Server 2003 gewohnten Informationen und Komfort (u.a. ist kein direktes Öffnen mehr über das per rechter Maustaste verfügbare menü mehr möglich). Aber das alte Snap-in ist immer noch in C:\Windows\System32 vorhanden und läßt sich als fsmgmt.msc in der Console aufrufen.