Wie kann ich Apps aus dem Mac App Store per Skript installieren oder aktualisieren? Ich würde Befehlszeilentools bevorzugen, aber AppleScript oder eine andere API würde ausreichen.
Relevante Puzzleteile:
installer
: Beachten Sie insbesondere das -store
Flag, das verwendet wird, um App Store-Installationen für Paketentwickler zu simulieren.systemupdate
: kann Updates für Apple-Apps verarbeiten, kennzeichnet -i
Installationen und -a
weist es an, alle verfügbaren Updates zu installierenDie meisten Leute können einfach automatische Updates aktivieren und Apple alle Updates verwalten lassen. Wenn es einen Grund gibt, warum Sie das nicht tun können oder wollen, gibt es ein Befehlszeilentool, um App Store-Installationen und -Updates zu automatisieren.
Ein bemerkenswertes Open-Source-Tool zum Replizieren des Mac App Store über die Befehlszeile ist mas :
Installieren:
brew install mas
Sobald es drin ist, können Sie alle verfügbaren Apps aktualisieren mit:
mas upgrade
Wenn Sie Ihre Apple-ID nicht der Software von Drittanbietern anvertrauen möchten, können Sie auch Ihre Benutzeroberfläche automatisieren und den Kontonamen und das Kennwort mithilfe des Schlüsselbunds speichern.
Die Apple-Lösung für Sicherheitspatches und -updates, die nicht aus dem App Store stammen, besteht darin, das softwareupdate
Tool über die Befehlszeile auszuführen, um die gesamte Software zu aktualisieren, die Apple ohne Benutzereingriff oder über die App Store-Benutzeroberfläche installieren möchte.
Derzeit auf Lion und Mountain Lion – das bedeutet, dass der Mac auf einen lokalen OS X-Server trifft, der Downloads für Systemaktualisierungen und außerhalb des App Store installierte Software zwischenspeichert. Wenn Sie keinen lokalen Software-Update-Server haben, lädt dieser natürlich Dateien direkt von Apple herunter.
Für Mountain Lion 10.8.2 und niedriger kommt alles immer noch über den App Store - daher ist die Apple-Software wie OS X-Updates mit diesem Tool nur für Updates und Nicht-App Store-Updates vollständig skriptfähig.
Was (noch oder vielleicht nie) nicht skriptfähig ist, sind Apps, die aus dem App Store installiert werden, wie Xcode und Pages sowie Anwendungen von Drittanbietern. Das bedeutet, dass Sie nicht nur ein Tool haben können, um die gesamte Software zu aktualisieren, ohne die App Store App zu öffnen und ein Passwort auf dem Bildschirm der Benutzeroberfläche einzugeben.
Was Sie tun können, ist, die Apps einmal herunterzuladen und dann die App auf mehrere Macs zu kopieren, solange die Apple-ID, die zum Herunterladen der ersten Kopie der App verwendet wurde, auch auf allen Macs verwendet wird, auf denen die App ausgeführt wird.
Ich kenne mehrere Institutionen, die eine Kopie jeder App für ein Labor mit 20 Computern kaufen, um eine Lizenz für jeden Arbeitsplatz zu erhalten, aber dann eine Datei auf allen Macs bereitstellen, sodass nach Abschluss eines Update-Downloads ein Tool wie Apple Remote Desktop verfügbar ist oder Caspar oder ein hausgemachtes Tool wie scp
oder rsync
wird verwendet, um die aktualisierte Version der App auf alle Macs im Labor zu übertragen.
Wenn Sie für jeden Computer den Weg einer individuellen Apple-ID gehen, können Sie die Installation von App-Updates nicht skripten, da jeder das Kennwort für jedes Konto anfordert, es sei denn, Sie kennen alle Kennwörter und führen UI-Skripte aus, wo AppleScript kann Geben Sie programmgesteuert den richtigen Benutzernamen und das richtige Passwort ein und klicken Sie dann auf die Schaltfläche, um den Download-Vorgang für die Updates jedes Computers zu starten. Die Art und Weise, wie App-Store-Apps mit Code signiert sind, macht es schwierig, einfach ein Update einzufügen, ohne das Paket ungültig zu machen oder irgendwie den gesamten App-Store-Prozess rückzuentwickeln / zu jailbreaken und den normalen Ablauf zu umgehen, den App-Installer seine Arbeit machen zu lassen.
Dies ist mit dem Open-Source mas
-Befehlszeilendienstprogramm möglich:
mas-cli
Eine einfache Befehlszeilenschnittstelle für den Mac App Store. Entwickelt für Scripting und Automatisierung.
Offenlegung: Ich bin der Schöpfer vonmas
Vielleicht möchten Sie sich Sprout-Wrap und Solist ansehen . Sie können OSX-Pakete von einer URI mithilfe des dmg_package
Anbieters installieren. Schauen Sie sich einige der Rezepte in Sprout an, um einige Beispiele zu erhalten.
Um Sicherheitsupdates automatisch zu aktualisieren, verwenden Sie das Rezept pivotal_workstation::osx_updates . ( Beachten Sie, dass dies verwendet wirdsoftwareupdate
)
Für Homebrew - Apps hat der brew
Anbieter eine upgrade
Aktion.
Soweit ich weiß, gibt es keinen Anbieter, der App Store-Apps automatisch aktualisiert. Möglicherweise können Sie jedoch die integrierte automatische Update-Funktion einiger Apps innerhalb eines execute
oder bash
-Anbieterblocks verwenden. Möglicherweise können Sie AppleScript auch in einem Kochrezept verwenden, um die App Store-App zu automatisieren. Einige Beispiele für die Verwendung von Inline-AppleScript finden Sie im Rezept „sprout-osx-settings::function_keys“ . (Einige andere Beispiele: sprout-osx-settings::remove_expose_keyboard_shortcuts , sprout-osx-settings::set_finder_show_user_home_in_sidebar )
Ich bin mir nicht sicher, ob es eine Lösung vom Typ AppleScript gibt, aber es gibt Tools zum Verwalten einer großen Anzahl von OS X-Systemen.
Diejenige, mit der ich am besten vertraut bin, ist radmind (die bei UMich für die Verwaltung ihrer Labors (alte Site) begann ).
radmind ist wirklich darauf ausgerichtet, eine Standard-Betriebssystemvorlage auf einer Reihe von Computern bereitzustellen und auf dem neuesten Stand zu halten, sodass dies für eine kleine Site möglicherweise etwas zu viel Arbeit ist. Der grundlegende Arbeitsablauf ist:
… Im engeren Sinne wird die Installation also nicht automatisiert, sondern Sie müssen den interaktiven Teil nur einmal ausführen und dann das aktualisierte Betriebssystem an Ihre Clients verteilen.
Offensichtlich funktioniert dies am besten, wenn Sie überall eine Standardsoftware installieren können. Wenn Ihre Kunden alle speziell und einzigartig sind, ist dies möglicherweise keine großartige Lösung.
radmind
wäre "Installieren Sie die Anwendung auf Ihrem Vorlagencomputer und aktualisieren Sie das Transkript". (Immer noch eine manuelle Installation, aber eine manuelle Installation statt 1000.)
Fahrrad
Josef Holsten
Fahrrad