Willkommen auf der Blog-Seite von hubionmac.com!
Alles rund um AppleScript und was mich sonst noch so interessiert ;-)!

Es ging um eine Frage in einem Forum, wie man am besten via Skript das Benutzerkennwort ändern kann. Da in OSX damit auch gleichzeitig der Schlüsselbund bei Anmeldung entschlüsselt wird, muss das Kennwort hierfür auch gleich mit geändert werden... das machte die Sache etwas komplizierter, aber eigentlich doch nicht.
Das Skript habe unter 10.12.1 getestet... sollte aber auch auf früheren Versionen funktionieren

##erst mal alle lokalen Nutzer abfragen... wenn es nur einen gibt, direkt weiter
tell application "Finder" to set localUsers to name of every folder of (path to "usrs") whose name is not "Shared"
if (count of localUsers) > 1 then
    set localUser to choose from list localUsers with prompt "Welcher Nutzer soll bearbeitet werden?"
    if localUser is false then
        ##Script abbrechen, wenn auf Abruch gedrückt wurde... also choose list false zurück gibt
        error number -128
    end if
else
    set localUser to localUsers as string
end if
##Alte und neue Kennworte erfragen
set olderpassword to ""
repeat until olderpassword ≠ ""
    set olderpassword to text returned of (display dialog "Bitte alte Kennwort für User \"" & localUser & "\" eingeben" default answer "" with hidden answer)
end repeat
set newpassword to ""
repeat until newpassword ≠ ""
    set newpassword to text returned of (display dialog "Bitte neues Kennwort für User \"" & localUser & "\" eingeben" default answer "" with hidden answer)
end repeat

##Benutzerkennwort ändern.... es muss mit administrator privileges (Abfrage eines Admin Kennwortes) laufen, da sonst ein prompt in der Shell kommen würde....
## Soweit zumindest mein Kenntnisstand vielleicht gibt es aber auch eine schönere Lösung ohne Admin rechte ;-)
try
    do shell script "dscl . -passwd /Users/" & localUser & " " & quoted form of newpassword with administrator privileges
    display notification "System-Kennwort erfolgreich geändert"
on error msg
    display notification "Fehler beim Ändern des Systemkennworts: " & msg as string
    error number -128
end try
##Schlüsselbund Kennwort ändern
try
    do shell script "security set-keychain-password -o " & quoted form of olderpassword & " -p" & quoted form of newpassword with administrator privileges
    display notification "Schlüsselbundkennwort erfolgreich geändert"
on error msg
    display notification "Fehler beim Ändern des Schlüsselbundkennwortes: " & msg as string
    error number -128
end try

Continue reading...

Ich habe vor einiger Zeit mal diesen IPSW-Downloader geschrieben, damit man gerade als Apple-Supporter nicht immer erst die passende iOS-Software laden muss, wenn man mal einen iPod oder ein iPhone resetten möchte. Die Software lädt also einfach die neuesten Software-Versionen für alles iOS Devices, iPods und Apple-TVs herunter.
Bis zum Update von iOS 10, als auf einmal die Namensgebung so gar mehr mit dem übereinstimmte, was Apple bisher gemacht hatte.
Die neue Version kommt nun auch mit den neuen Dateinamen klar und anstelle auf jedem Client dieses riesen XML-Datei parsen zu lassen, fasst nun ein Script dieses Server-Seitig zusammen, so dass der Download noch schneller starten kann. Weitere Neuerungen sind:

  • Alte Dateien werden rot markiert und können so nachdem das Skript gelaufen ist, vom nutzer leicht identifiziert und gelöscht werden, damit man sich den Rechner nicht mit veralteten Versionen zumüllt.
  • Wenn mal ein Download-Abgebrochen wird (manchmal kicken einen die Server einfach raus), bricht das Skript nicht mehr ab, sondern fängt den Fehler ab. Der angebrochene Download wird gelöscht und wenn man das Skript später noch einmal laufen lässt, wird dann die fehlende Datei erneut geladen. So gehören zumindest defekte Dateileichen der Vergangenheit an ;-)

ipsw downloader 4.zip

Continue reading...

Ich war auf einer Vortragsveranstaltung und um den Ablauf so gut wie möglich zu timen und damit die Redner Ihren Time-Slot nicht überziehen, musste eine Countdown angezeigt werden. Die Vorgabe für den Countdown haben wir zunächst per Funkt erhalten und dann auf einem Laptop einen entsprechenden Countdown laufen lassen. Das war nur leider nicht wirklich praktikabel, da sich teilweise während des Vortrages der Countdown ändern sollte und wir über Funk oft gar nicht verstehen konnten, wieviel Minuten es sein sollte. So ist diese Anwendung entstanden. Der Verantwortliche für den Countdown hat kurzerhand eine Remote-App (in Form einer Webseite) erhalten, über die er die Seite mit dem Countdown selber steuern konnte ;-)remotecountdown.zip

Continue reading...