Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Festplatten-Nr per VBA auf MAC auslesen

Festplatten-Nr per VBA auf MAC auslesen
14.03.2023 17:56:14
Andreas_ausWuppertal

Hallo VBA-Gemeinde,
folgendes Problem, ich möchte ein Excel-tool das auch auf MAC-Systemen eingesetzt werden soll, mit einem "einfachen" Schutz versehen, derart dass das tool nur in Verbindung mit einer verschlüsselten rechnerspezifischen "key2"-txt-Datei, wo unter anderem die Festplatten-SerialNr des Kundenrechners drin steht, funktioniert. Diese SerialNr wird vorab vom Kunden per VBA in die "key1"-txt-Datei ausgelesen und mir zugeschickt, ich erweitere sie per VBA und mach daraus die erwähnte key2-Datei, schicke sie zurück und dann kann der Kunde das tool laufen lassen. Unter Windows funktioniert das super. :-) Ist bestimmt kein 100%-Schutz, weiß ich, reicht aber.
Das funktioniert aber leider nicht auf einem MAC... Ich habe schon recherchiert und auch chatGPT bemüht, finde aber keine funktionierende Lösung.
Also ich muss lediglich etwas Rechner-spezifisches (z.B. die FestplattenSerialNr) per VBA in einen string einlesen.
Weiß jemand was funktionieren könnte auf einem MAC?

Die folgenden Codeauszüge habe ich bereits ausprobiert, sie liefern aber immer Fehler. :-\

strCommand = "system_profiler SPStorageDataType | grep 'Serial Number' | awk '{print $NF}'"
strSerialNumber = MacScript(strCommand)  ' liefert Fehlermeldung

oder so:
strScript = "do shell script ""diskutil info / | grep 'Serial Number' | awk '{print $3}'"""
strSerialNumber = AppleScriptTask(strScript, "") ' liefert Fehlermeldung
  'oder auch:
strSerialNumber = AppleScriptTask(strScript, "", "-psn") ' liefert Fehlermeldung
  'oder auch:
strSerialNumber = Trim(AppleScriptTask(strScript, "", "-psn")) ' liefert Fehlermeldung

oder so:
Dim lPSN As LongPtr
strScript = "do shell script ""diskutil info / | grep 'Serial Number' | awk '{print $3}'"""
lPSN = CLngPtr(Application.Windows(ThisWorkbook.Name).Hwnd)
strSerialNumber = AppleScriptTask(strScript, "Serial Number", lPSN) ' liefert Fehlermeldung


Vielen lieben Dank schonmal fürs Überlegen !!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Festplatten-Nr per VBA auf MAC auslesen
15.03.2023 16:49:09
Herbert_Grom
Hallo Andreas_ausWuppertal,

da musst du in einem MAC-Excel-Forum nachfragen, hier bist du im Windows-Excel-Forum!

Servus


AW: Festplatten-Nr per VBA auf MAC auslesen
15.03.2023 17:28:09
GerdL
Hallo Herbert!

Ja, die Mac-Spezialisten sind dünn gesäht.
Folglich ist die Aussicht auf eine verwertbare Antwort hier geringer.
Aber dieses Excel-Forum ist nicht auf Windows beschränkt.

Gruß Gerd


AW: Festplatten-Nr per VBA auf MAC auslesen
15.03.2023 17:34:01
Herbert_Grom
Hallo Gerd,

Aber dieses Excel-Forum ist nicht auf Windows beschränkt. ... sondern?

Servus


AW: Festplatten-Nr per VBA auf MAC auslesen
15.03.2023 21:00:15
Andreas_ausWuppertal
Hallo,
ich habe mittlerweile eine Lösung gefunden und zwar wie man die Rechner-SerialNr auf einem MAC auslesen kann.
Im folgenden stelle ich die Funktion ein, falls jemand Interesse daran haben sollte.

function fktGetMACSerialNr() as String
    Dim PCSerialNumber, sOffset
    PCSerialNumber = MacScript("do shell script ""ioreg -l | grep IOPlatformSerialNumber""")
    sOffset = InStr(PCSerialNumber, " = """)
    PCSerialNumber = Mid(PCSerialNumber, sOffset + 4, 999)
    PCSerialNumber = "{Mac}" & Left(PCSerialNumber, Len(PCSerialNumber) - 1)
    fktGetMACSerialNr = cstr(PCSerialNumber)
end function


Anzeige
AW: Festplatten-Nr per VBA auf MAC auslesen
16.03.2023 09:14:05
Pierre
Excel? Gaaanz streng genommen sogar Excel-VBA ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige