Accueil > 4D, Développement, Mac OS X > Obtenir le numéro de série d’un Mac depuis le terminal ou en 4D

Obtenir le numéro de série d’un Mac depuis le terminal ou en 4D

19/10/2009

4DPour obtenir le numéro de série d’un Macintosh depuis le terminal, tapez la commande suivante :

system_profiler SPHardwareDataType | grep “Serial Number“

Dans 4D, si vous avez besoin de cette information, utilisez le code suivant :

`Méthode getSerial

C_TEXTE($Commande;$Resultat;$0)
C_TEXTE($vtentrée;$vtsortie)
$Commande:=“system_profiler SPHardwareDataType“
$vtentrée:=““
LANCER PROCESS EXTERNE($Commande;$vtentrée;$vtsortie)

$pos1:=Position(“Serial Number“;$vtsortie)
$pos2:=Position(“:“;$vtsortie;$pos1)+2
$pos3:=Position(“\n“;$vtsortie;$pos2)
$longueurserial:=$pos3-$pos2

$0:=Sous chaine($vtsortie;$pos2;$longueurserial)

Cette méthode s’utilisera comme suit : LeSerial:=getSerial

Pourquoi ne pas utiliser le grep dans la méthode 4D? me direz-vous, et bien parce que cela ne fonctionne pas, j’ai testé un lancer process externe avec la commande system_profiler SPHardwareDataType | grep \“Serial Number\“ et j’ai obtenu le texte complet et non pas le numéro de série seul. Si quelqu’un à une idée je suis preneur.

C_TEXTE($Commande;$Resultat
C_TEXTE(vtentrée;vtsortie)
$Commande:= »system_profiler SPHardwareDataType »
vtentrée:= » »
LANCER PROCESS EXTERNE($Commande;vtentrée;vtsortie)
$pos1:=Position(« Serial Number »;vtsortie)
$pos2:=Position(« : »;vtsortie;$pos1)+2
$pos3:=Position(« \n »;vtsortie;$pos2)
$longueurserial:=$pos3-$pos2
$Serial:=Sous chaine(vtsortie;$pos2;$longueurserial)
Categories: 4D, Développement, Mac OS X Tags:
  1. Buddy
    18/06/2010 à 11:12 | #1

    Ca devrait le faire :

    system_profiler SPHardwareDataType | grep ‘Hardware UUID:’ | sed -e ‘s/ Hardware UUID: //’

Les commentaires sont fermés.