# applescript sur fichiers root



## MrSoul (21 Février 2012)

Bonjour,

Je viens tout juste de tenter d'écrire mon premier AppleScript qui aurait pour but de rajouter des lignes en toute fin du fichier hosts.


```
set fileHosts to "/etc/hosts"
set hostToAdd to "#mes hosts à rajouter"

open for access fileHosts with write permission
write hostToAdd to fileHosts
write hostToAdd to fileHosts starting at eof
close access fileHosts
```

Quand je le fais sur un fichier test qui appartient à mon compte, pas de soucis, mais quand je le fais sur le véritable fichier hosts, j'ai le message d'erreur suivant : "Erreur d'autorisation de fichier réseau.". Le "réseau" me parait bizarre, mais suppute que c'est un problème d'autorisation.

Y a t'il moyen qu'il me demande le mot de passe administrateur pour pouvoir sauvegarder ce fichier ? Et si c'est possible, comment s'y prendre ?

Merci d'avance.


----------



## Nyx0uf (21 Février 2012)

```
with administrator privileges
```


----------



## MrSoul (22 Février 2012)

J'ai déjà essayé, mais il semblerait que ça ne fonctionne qu'avec les scripts shell.



```
open for access fileHosts with write permission and administrator privileges
```
ou

```
open for access fileHosts with administrator privileges
```

donne le message d'erreur suivant :

Erreur de syntaxe


> "given", "with", "Without", autre nom de paramètre, etc. prévu mais identificateur trouvé.


Et comme résultat :


> error "Erreur dautorisation de fichier réseau." number -5000 from file "Macintosh HDrivate:etc:hosts"


----------



## MrSoul (24 Février 2012)

Je me répond, on sait jamais que ça puisse servir à quelqu'un.

Donc en AppleScript natif, on ne peut pas, il faut passer par un script shell.



```
set hostToAdd to "echo '

#my hosts

' >>"
set fileHosts to "/etc/hosts"

do shell script hostToAdd & fileHosts with administrator privileges
```


----------

