Archive

Archive for the ‘Tools’ Category

SCOM2Nagios 1.5

October 16th, 2011 5 comments

Find the newest version on top of: http://www.mbaeker.de/tag/scom2nagios/

Released a new Version of the SCOM2Nagios Connector. Changes:

1.5
* NEW: NagiosHost2 and NagiosPort2 in config (fast change upon request)
* BUG: Processings equals instruction hasnt’t worked correctly

This is currently a fast release without much testing. Please add a comment if anything is broken!

Download: SCOM2Nagios (Version 1.5) (167)

Enteo: Statische Computer-Gruppenzuordnung klonen

September 15th, 2011 No comments

configurationWird Software in Enteo per statischen Gruppen zugeordnet, so ist es bei einem Hardwareaustausch notwendig, die Zuordnungen des alten PCs auf den neuen zu übertragen. Dies kann man natürlich durch manuelles Drag&Drop machen, oder aber über ein kleines Powershell Skript:

param([string]$sourcename="source", [string]$targetname="target")
Add-PSSnapin NwcServices.BlsAdministration
$server="\\enteoserver"
New-PSDrive -Name emdb -psProvider BlsEmdb -Root $server
cd "emdb:\rootdse"
$source=get-emdbcomputer -recurse $sourcename

if ($source)
{
    $target=get-emdbcomputer -recurse $targetname
    if ($target)
    {
        $source.GetAssociatedItems() | where {$_.SchemaDisplayName -eq 'Static Group'} |foreach-Object{
        write-host "Cloning group " $_.Name " from $sourcename to $targetname"
        $_.addMember($target)
        }
    }
    else
    {
        write-host "Target $targetname cannot be found!"
    }
}
else
{
    Write-host "Source $sourcename cannot be found!"
}

Das Skript selber ist recht einfach aufgebaut. Es wird der Quellcomputer gesucht und das Objekt abgefragt, welche Verbindungen es hat.
Diese Verbindungen werden nach dem Typ statische Gruppen gefiltert. Über diese Gruppen wird iteriert und jeweils dem Zielobjekt hinzugefügt.

Um das Powershellskript einfach aufzurufen hier noch eine Batch-Datei:

@echo off
set /p source=Bitte Quellrechnernamen eingeben:
set /P target=Bitte Zielrechnernamen eingeben:
powershell "%~dp0clonecomputer.ps1" -sourcename "%source%" -targetname "%target%"
pause

 

Categories: Deutsch, Tools Tags: ,

Profilepfad per Batch-Datei auslesen

June 28th, 2011 No comments

Bei einigen Automatisierungen ist es notwendig den Profilpfad eines Benutzers auszulesen und einen eventuellen DFS Pfad in einen physikalischen Pfad aufzulösen.

Hierfür habe ich eine kleine Batch-Datei geschrieben:

@echo off
set samaccountname=%~1
for /f "tokens=* usebackq" %%a in (`AdFind.exe -f "samaccountname=%samaccountname%" profilePath /list`) do (
set profilePath=%%a
)

for /f "delims=<> usebackq tokens=1,2,3,4,5" %%a in (`dfsutil diag viewdfspath %profilepath%`) do (
     if NOT %%e.==. set profilePath=%%e
)

echo %profilePath%

Der Profilpfad wird in Zeile 3 mit Hilfe von adfind anhand des Benutzernamens ermittelt, per for ausgewertet und an eine Umgebungsvariable übergeben.
Diese wird in Zeile 7 an dfsutil übergeben, dass mit dem Befehl diag den physikalischen Pfad anzeigt (ermittelt mit dem aktuellen Standort). Die Ausgabe wird erneut mittels for ausgewertet, wobei die Zeilen an den Größer- und Kleinerzeichen getrennt werden. An fünfter Stelle steht dabei der physikalische Pfad. Handelt es sich bei dem Profilpfad um keinen DFS basierten, dann ist die fünfte Stelle leer und wird daher nicht an die Variable übergeben.

Innerhalb einer anderen Batch-Datei kann diese einfach per call getprofilepath.cmd SAMACCOUNTNAME aufgerufen und die Variable profilePath später weiterverwendet werden.

Categories: Deutsch, Tools Tags: , ,

Enteo und Automatisierung Teil 2

June 25th, 2011 2 comments

toolsIn diesem Blog Post werde ich eine Funktion vorstellen, die anhand eines Abteilungsnamens eine Hierarchie von Organisationseinheiten in Enteo erstellt.

Nehmen wir an, dass die Abteilungen nach einem klaren Muster benannt sind. Jede Hierarchie wird durch einen Buchstaben dargestellt. Eine Abteilung ABC steht somit an dritter Stelle in der Hierarchie. Über ihr steht die Abteilung AB und darüber A.

Diese Hierarchie soll beim Provisionieren eines Computers nachgebildet werden. Der neu zu installierende PC aus der Abteilung ABC wird daher in die OU A\AB\ABC abgelegt werden.

Dies ermöglicht einen abteilungsweisen Rollout.

Die hier vorgestellte Funktion muss daher folgendes leisten:

  1. Überprüfen ob die OU schon existiert
  2. Falls nicht, den übergebenen Abteilungsnamen zeichenweise zerlegen und bei jeder übergeordneten Abteilung ebenfalls überprüfen, ob diese bereits existiert
  3. Die neue OU unter der übergeordneten Abteilung anlegen
  4. Die Abteilungs-OU wieder zurückgeben.

Read more…

Categories: Deutsch, Powershell, Tools Tags: , ,

Enteo V6+ und Automatisierung

June 23rd, 2011 2 comments

Im Rahmen eines aktuellen Projektes darf ich mich ein bisschen mit Enteo beschäftigen. Im Kern basiert Enteo V6 auf WebServices. Das ist leider auch die einzige Schnittstelle, die meines Wissens vom Hersteller für Automatisierungen angeboten wird.

Gerade in einem größeren Rollout Projekt ist Automatisierung überlebenswichtig (bzw. sinnvoll, damit man sich nicht zu sehr bei Drag&Drop langweilt). Zum Glück  hat NWC Services diese Lücke erkannt und als Wrapper um die WebServices ein Powershell Modul erstellt.

Meine Testerfahrungen mit diesem Tool werde ich in diesem Blogeintrag und wahrscheinlich in ein paar weiteren anhand von Beispielen beschreiben.
Read more…

System Center Updates Publisher 2011

June 7th, 2011 No comments

starVor einigen Tagen hat Microsoft den System Center Updates Publisher (SCUP) in der Version 2011 veröffentlicht.  Er beinhaltet einige interessante Neuerungen:

 

  • Automatic Updates mit SCCM: zuerst wird ein Update nur als metadata veröffentlicht ohne das eigentliche Update herunterzuladen. Bei einer späteren Synchronisation ließt der SCUP aus dem SCCM (System Center Configuration Manager 2007 oder höher) aus, ob Clients dieses update benötigen. Ist dies der Fall, dann lädt er das komplette Update herunter und stellt es in den WSUS zur Verteilung bereit
  • Software update Cleanup Wizard: Ermöglicht es nicht mehr benötigte Updates zu bereinigen, indem sie auf expired gesetzt werden

Herunterzuladen ist das Tool unter http://www.microsoft.com/downloads/en/details.aspx?FamilyID=083f45ca-1ede-4f7a-be74-77854c3a9b01.

Eine gute Installationsanleitung ist hier zu finden: http://blogs.technet.com/b/jasonlewis/archive/2011/05/24/getting-started-with-updates-publisher-2011.aspx (Keine Bilder, aber dafür alle wesentlichen Punkte enthalten, ich konnte problemlos nach ein “Upgrade” machen, daher werde ich es nicht nochmal hier beschreiben)

Meine Vorgehensweise zum Publizieren von Updates (nachdem die Konfiguration inkl. WSUS und SCCM abgeschlossen ist):

  • Importieren der ausgewählten Kataloge
  • Auswahl aller Updates auf oberster Ebene
  • Publish drücken und dabei Automatic auswählen
  • WSUS Sync in der SCCM Konsole anstoßen
  • etwas warten, damit Clients einen Scan mit dem neuen Katalog ausgeführt haben (oder einen Scan auf einem oder mehreren Clients manuell starten)
  • Erneuten Sync im SCUP mit Automatic: jetzt lädt er die benötigten Updates herunter
  • Verteilung der benötigten Updates im SCCM wie normale Windows Updates
    Insgesamt eine wirklich gelungene Aktualisierung mit der der SCUP endlich erwachsen wird.

Re-Import VMs into Hyper-V

May 3rd, 2011 2 comments

toolsNormaly you can only import a Virtual Machine (VM) into Hyper-V if you have exported it. If you lose your Hyper-V settings or have to import it into a new Hyper-V Server in case of a desaster recovery than you can use the steps descripted in this (and other) blog post: http://blogs.msdn.com/b/robertvi/archive/2008/12/19/howto-manually-add-a-vm-configuration-to-hyper-v.aspx

The problem is that you have to handle many long pathes and cryptical GUIDs. I had to do that for a bunch of different VMs and being chronical lacy I created three batch files for it:

  1. importVM.cmd “GUID” “Path to Virtual Machine” creates the link and corrects the permissions on the link and the vm folder
  2. importSnapshot.cmd “SnapshotGuid” “VMGuid” “Path to Snapshot” creates the snapshot link and the right permission.

Not very impressiv? Well, the third batch files combines this two scripts:

  1. addMachine.cmd: Takes the basis path (the path where the sub-folder Virtual Machine, Snapshots exists) and extracts the VM-GUID, all Snapshots-GUIDs and the other pathes to automaticly create the links and permissions.

So with one simple command (addMachine.cmd C:\ClusterStorage\Volume4\VM1) you can import the complete VM.

— addMachine.cmd ——

Read more…

Kleine Tools – große Wirkung

May 1st, 2011 No comments

lock_openGerade im AD-Umfeld finde ich die Tools von Joe Richards (http://joeware.net) immer wieder großartig. Mit ihnen lassen sich durch geschickte Verkettungen sehr schnell Aufgaben lösen. Dabei ist der Ansatz ähnlich wie bei Unix, d.h. ein Tool hat ein Aufgabenspektrum (z.B. finden, ändern, löschen, …) – die Tools wiederum können über die Std-out Ausgabe gekoppelt werden. Wer also nicht immer gleich die Power Shell starten will, sollte sich diese Programm verlinken.

Ein Beispiel, um die Anzahl der Mitglieder einer Gruppe zu zählen:

adfind -f "samaccountname=GRUPPENNAME" member -list | adfind -c

AdFind V01.41.00cpp Joe Richards (joe@joeware.net) February 2010

Using server: dc01:389

Directory: Windows Server 2008

201 Objects returned

In Worten: Suche ein Objekt mit dem NT4-Namen GRUPPENNAME und gibt das Attribut member als Liste aus. Die Rückgabe wird erneut an adfind gegeben, das die Anzahl zählt.

Ninite–Tool zur Installation von Standardsoftware

March 20th, 2011 No comments

icon-20Es gibt mittlerweile mehrere verschiedene Anbieter dieser Softwareart: Ein Programm, dass automatisiert bestimmte Standardsoftware wie Firefox, Thunderbird, VLC, Skype usw. installiert.

Ninite.com ist eines davon. Auf der Webseite werden die gewünschten Programme ausgesucht und der Download des Tools gestartet. Dieses installiert dann automatisch die ausgewählten Softwarepakete mit angepassten Einstellungen. Die Installationen laufen jeweils silent ab. Browsertoolbars und ähnliche unnütze Ergänzungen werden jeweils abgewählt.

Das Programm erkennt, wenn die Software bereits installiert ist und aktualisiert diese bzw. überspringt es, wenn die neueste Version vorhanden ist.

Insgesamt eine gute Hilfe, um nach einer Neuinstallation des Betriebssystem schnell seine Standardsoftware zu installieren bzw. zu kontrollieren, ob die neueste Version installiert ist.

Link: http://ninite.com

Massenhafte Anpassung von DHCP Optionen

June 1st, 2010 No comments

source Möchte man auf die schnelle bei einem Windows 2008 DHCP Server in jedem Scope DHCP Options anpassen, so lässt sich dies mit ein paar Zeilen Batchcode erledigen:

 

for /f "usebackq skip=4" %%a in (`netsh dhcp server \\DHCPSERVER show scope`) do (

netsh dhcp server \\DHCPSERVER scope %%a set optionvalue 006 IPADDRESS ip.des.dns.servers ip.des.zweiten.dns

netsh dhcp server \\DHCPSERVER scope %%a set optionvalue 015 STRING dns.name

)