Robocopy – FEHLER 123 (0x0000007B) – Verzeichnisse mit Leerzeichen kopieren

robocopy meme

Die Fehlermeldung

Verwendet man eine aktuelle PowerShell und die Tab-Completion (Die Anführungszeichen fügt die Shell autmatisch hinzu.), so erhält man den Befehl:

Robocopy.exe 'C:\tmp\source with spaces\' 'C:\tmp\target with spaces\' /e

Und führt man diesen aus erhält man eine Fehlermeldung.

robocopy the filename directory name or volume label syntax is incorrect

Zu beachten ist, dass die Quelle und das Ziel von Robocopy „seltsam“ interpretiert werden. Das \' am Ende von Quelle und Ziel führt dazu, dass das Anführungszeichen escaped (als Text interpretiert) wird und somit die ganze Anweisung fehlerhaft wird.

Die Lösung

Es gibt eine ganz einfache Lösung, man lässt den letzten Backslash in Quelle und Ziel weg.

Robocopy.exe 'C:\tmp\source with spaces' 'C:\tmp\target with spaces' /e

Backup Exec – TECH126877 – the device or media server cannot be deleted because existing jobs or selection lists remain

Das Problem

Vor einiger Zeit konnte ich ein Sicherungsziel (einen „Speicher“), namentlich „internal RAID“ in Backup Exec 15 nicht entfernen. Das GUI gab mir folgende Fehlermeldung zurück:

„The device (or media server) cannot be deleted because existing jobs or selection lists remain.“

Ich bin also durch alle Sicherungsjobs gegangen und konnte keinen finden wo der zu entfernende Speicher konfiguriert wäre. Sehr komisch …

Die Google-Suche

Eine schnelle Google Such brachte mich zu dem Support-Artikel von Symantec Veritas TECH126877 das einem dazu rät den Symantec Support anzurufen?!?!1

Die Lösung

Ich konnte nicht glauben dass dies der Weg ist einen Speicher von Backup Exec zu entfernen und stolperte über die „Backup Exec Management Command Line“.

windows-search-backup-exec

Diese begrüßte mich mit den Basis Kommandos. Der Befehl „Get-BECommand“ gibt eine Liste aller verfügbarer Kommandos zurück.

backup-exec-management-command-line-interface

In dieser Liste bin ich auf die Befehle „Get-BEJob“ und „Remove-BEJob“ gestoßen. Also mal gucken was „Get-BEJob“ zurückgibt.

backup-exec-management-command-line-interface-get-bejob

Ausgezeichnet; Es wird ein Objekt zurückgegeben das man nach „Storage“ filtern kann. Dann wollte ich wissen was „Remove-BEJob“ als Input nimmt.

man-remove-bejob

Verstehe, man kann also die Objekte von „Get-BEJob“ an „Remove-BEJob“ weiterleiten.

Alles was zu tun war, ein Liste aller Backup Exec Sicherungsaufträge mittels „Get-BEJob“ abzurufen, diesen auf den Speicher/Storage „internal RAID“ zu filtern und das an „Remove-BEJob“ weiterzuleiten.

Das ganze kann vorerst mit dem Parameter „-WhatIf“ aufgerufen werden .. nur um sicher zu gehen was gelöscht wird ;)

remove-backup-exec-jobs-with-mapped-devices

Get-BEJob | where storage -eq "internal RAID" | Remove-BEJob

Es brauchte also nur ein bisschen PowerShell .. oder man kann natürlich den Symantec/Veritas Support anrufen …

Notebook geht nicht in den Standby wenn man den Deckel schließt

Von heute auf morgen wolte mein Notebook nicht mehr in den Standby gehen, wenn ich selbiges zuklappte. Nach Prüfung aller relevanten Einstellung in meiner Linux Mint 17 Installation führte mich eine schnelle Suche auf folgende Seite: http://askubuntu.com/questions/395428/laptop-does-not-suspend-when-lid-is-closed.

Die Lösung für mich war, die Datei /etc/systemd/logind.conf zu öffnen, die Option HandleLidSwitch auf suspend zu setzen (gültige Werte sind suspend, hibernate und poweroff) und das Notebook neuzustarten.

FRITZ!DECT 200 via PHP schalten

Die Situation

Im Wohnzimmer (im EG) sitzend hat es mich immer genervt in den ersten Stock zu gehen um den Drucker einzuschalten. Der Drucker, ein HP LaserJet 2200dtn, ist via LAN mit einem TP-Link TL-WR710N mit dem Netz verbunden. Der TP-Link TL-WR710N verbindet sich als Client mit dem WLAN und ermöglicht so das Verwenden des Druckers ohne ein hässliches LAN-Kabel durch zwei Zimmer und eine Wand zu verlegen. Eine Lösung wäre sicherlich gewesen die Drucker/Access-Point-Kombination dauerhaft eingeschalten zu lassen. Da der Drucker nur selten gebraucht wird und ich auch gerne ungenutzte Geräte ausgeschaltet habe suchte ich nach einer anderen Lösung.

Die Lösung

Nun ist vor beiden Geräten ein FRITZ!DECT 200 geschalten.

printer-network-setup

Das Problem

Nun kann man die Geräte über die FRITZ!DECT 200 gemeinsam ein- und ausschalten, jedoch muss man entweder den Schalter am Gerät drücken (und das hat sowas von keinen Vorteil im Vergleich zur Ausgangssituation) oder

  1. man meldet sich in der FRITZ!Box Webseite ein
  2. wählt den Punkt „Smart Home
  3. und schaltet das Gerät ein

… und das ist auch weit weg von guter Usability.

Das Projekt/Die Lösung

Damit das einfacher geht habe ich ein PHP-Skript aufgesetzt (fritz-dect-php auf GitHub) das die eingerichteten DECT-Geräte der FRITZ!Box abruft und den Namen mit einen Schalter daneben anzeigt. Darüber kann nun jeder einfach den Drucker ein- und ausschalten und braucht auch keine Login-Daten zu wissen.

fritz_dect_php_page

fritz_box_benutzerDie Konfiguration

Der Login zur FRITZ!Box ist in der Datei „login.inc.php“ hinterlegt. Je nachdem was man unter Anmeldung im Heimnetz eingerichtet hat müssen die entsprechenden Daten hinterlegt werden.

FRITZ!Box-Kennwort

Ich glaube dass es die Vor-/Grundeinstellung der FRITZ!Box ist, man meldet sich ausschließlich mit einem Passwort an.

fritz_box_anmeldung_kennwort

Zur ersten Konfiguration/Tests habe ich diese Login-Daten verwendet. Will man dies in der „login.inc.php“ verwenden muss man die Variable für den Benutzernamen leer lassen und nur das Kennwort eingeben. Jeder der Zugriff auf den Host hat kann natürlich auch diese Zugangsdaten auslesen.

FRITZ!Box-Benutzernamen und Kennwort

Da ich gerne möglichst geringe Rechte für dieses Skript verwenden wollte habe ich

  • einen FRITZ!Box-Benutzer angelegt der ausschließlich das Recht „Smart Home“ hat
  • einen FRITZ!Box-Benutzer angelegt der alle Rechte hat (einen Admin-Benutzer also)
  • die Anmeldung im Heimnetz auf „Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort“ geändert

fritz_box_anmeldung_benutzer_passwort

Das Resultat

Jeder im lokalen Netzwerk kann den Drucker ein- und ausschalten und erspart sich das lästige anmelden.

Ich erspare mir das lästige hochrennen und kann weiter faul auf der Couch sitzen während ich eine Seite ausdrucke.

ich bin stolz ein teil von devolutions expert team zu sein!

stephanie von devolutions hat mich gefragt ob ich teil des devolutions expert team sein moechte. wie vor einigen tagen bekannt gegeben besteht dieses team aus derzeit 10 mitglieder (weltweit!).

ich bin stolz und dankbar ein teil dieses teams zu sein und moechte mich an dieser stelle auch bei devolutions fuer ihre grossartigen produkte, sowie fuers beherzigen ihrer community bedankten!

.ics Kalender für den gelben Sack in Nürnberg

Ich habe mir die letzten Jahre immer einen Kalender für den Abfuhrplan des gelben Sacks erstellt. Dieses Jahr habe ich dies automatisiert getan. Dabei kam mir der Gedanke für alle Touren die Termine der Abholung einzulesen. Somit entstand das Projekt „Kalender gelber Sack Nürnberg“.

Auf der Projektseite kann nach der Straße gesucht werden. Nach Auswahl der entsprechenden Straße wird der jeweilige Kalender angezeigt.

Zu finden ist das Projekt unter:
http://www.gpunktschmitz.de/kalender-gelber-sack-nuernberg/

deutscher blog

eigentlich habe ich ja schon einen blog, da wird aber nur english geschrieben …

da ich nun einige projekte habe die deutsche dinge betreffen werde ich diese hier veroeffentlichen.

fuer den fall dass ich die zeit finde werde ich zukuenftige eintraege im englischen blog auch hier auf deutsch posten.