Applescript mounten network drives

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • bokkow
  • Registratie: November 2005
  • Laatst online: 22:21
Het volgende:

Ik wil graag dat mijn MacBook zoveel mogelijk automatisch mijn netwerkschijven mount.
Het onderstaande scriptje werkt prima als login item:

code:
1
2
3
4
5
6
7
tell application "Finder"
    try
        mount volume "afp://mac-mini-server.local/2TB Part 1"
        mount volume "afp://mac-mini-server.local/2TB Part 2"
        mount volume "afp://mac-mini-server.local/2TB Part 3"
    end try
end tell


Echter krijg ik dan een vervelend venster met; "niet mogelijk, blablabla" wanneer ik niet in mijn eigen netwerk ben.

Wat ik dus wil bereiken is dat, of deze melding niet meer komt, of dat op basis van het MAC adres van de router herkent wordt dat ik thuis ben (niet alleen via SSID want de MacBook is meestal met ethernet verbonden) en dan pas deze schijven probeert te mounten.

En als iemand een tip heeft dit altijd na sleep te laten gebeuren (niet alleen bij reboot/inloggen) dan ben ik helemaal gelukkig. Ik google me een breuk maar ik vind iedere keer; lokale volumes (niet netwerk volumes) of aan de hand van het SSID het netwerk herkennen.

Tesla Model 3 Performance - Tesla Model 3 Long Range - 6320Wp Oost-West


Acties:
  • 0 Henk 'm!

  • swbr
  • Registratie: Maart 2009
  • Laatst online: 10-10 16:08
Ik ken applescript niet, maar in het algemeen zul je iets moeten verzinnen waarmee je kunt vaststellen of je in je eigen netwerk zit, en afhankelijk daarvan wel of niet proberen om die drives te mounten. Hoe je dat doet is een tweede.

Ik vermoed dat OSX het arp commando kent, daarmee zou je in principe een bekend mac adres in je eigen netwerk kunnen opvragen, lukt dat -> mounten, lukt dat niet -> niet mounten. Of zet ergens in je netwerk een html pagina neer, lukt het om die op te halen -> mounten, lukt dat niet -> niet mounten.

Of verzin iets anders, maar dit is in elk geval de richting die ik zou inslaan.

If you try and take a cat apart to see how it works, the first thing you have on your hands is a non-working cat. -DNA


Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
k zou zelf niet al te moeilijk doen ,
kwestie van even in finder je mount aan klikken openen
en vervolgens mount je mac zelf alles netjes onder /volumes/<mountnaam> met je eigen username / rechten / etc

[ Voor 4% gewijzigd door Madnessy op 02-09-2013 14:40 ]


Acties:
  • 0 Henk 'm!

  • DJH
  • Registratie: Oktober 2000
  • Laatst online: 13-07 00:54

DJH

Madnessy schreef op maandag 02 september 2013 @ 14:39:
k zou zelf niet al te moeilijk doen ,
kwestie van even in finder je mount aan klikken openen
en vervolgens mount je mac zelf alles netjes onder /volumes/<mountnaam> met je eigen username / rechten / etc
Ik denk dat TS juist deze stap wil automatiseren met z'n script ;)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Ik heb een entry in mijn User preferences staan (login items) en die mount mijn volumes bij login zonder script. Ik weet niet of dit voor jou handig is, misschien ben je wel altijd ingelogd.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • pposthoorn
  • Registratie: Januari 2005
  • Laatst online: 12-09 14:04

pposthoorn

Constructeur

Ik heb zelf weinig ervaring met applescript, maar is het niet mogelijk om te pingen naar de mac mini server en aan de hand daarvan wel of niet te verbinden?

Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
Eenvoudig bash scriptje wat ik gebruikt om handmatig te mounten
simpel if statement erin en lekker toevoegen aan je crontab :)

#!/bin/bash
sudo mount_afp afp://user:pw@ip_nas/homes /mnt/nas
sudo mount_afp afp://user:pw@ip_nas/Tv /mnt/video

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Is het mogelijk om die mount credentials (user/pass) uit de keychain te halen zodat ze niet cleartext op de mac staan?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
RobV schreef op dinsdag 03 september 2013 @ 10:11:
Is het mogelijk om die mount credentials (user/pass) uit de keychain te halen zodat ze niet cleartext op de mac staan?
zo te zien is het mogelijk , alleen het wordt dan meteen wel stuk ingewikkelder.
http://blog.macromates.com/2006/keychain-access-from-shell/

je kan ook kijken naar autofs , daar schijnt ook het een en ander mee te kunnen

Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
RobV schreef op dinsdag 03 september 2013 @ 10:11:
Is het mogelijk om die mount credentials (user/pass) uit de keychain te halen zodat ze niet cleartext op de mac staan?
wat andere optie trouwens is , scriptje bakken , als root weg zetten en in je crontab zetten
dan kan niet iedere user je password uit het filetje lezen

Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
probeer dit maar eens in je crontab te gooien als root
(pas even ook de triggerfile aan , het is handig om te kijken of de mount al gemaakt is , anders blijf je opnieuw mounten)

#!/bin/sh

if [ -a /mnt/nas/triggerfile ]
then
exit
fi

/sbin/ping -c 1 -w 1 ip_nas
output=`echo $?`

if [ $output = 0 ]
then
mount_afp afp://user:pw@ip_nas/homes /mnt/nas
mount_afp afp://user:pw@ip_nas/Tv /mnt/video
fi

[ Voor 0% gewijzigd door Madnessy op 03-09-2013 10:35 . Reden: typotje :( ]


Acties:
  • 0 Henk 'm!

  • readytoflow
  • Registratie: Januari 2003
  • Niet online
Ik ben een nieuwe OS X gebruiker. Net een rMBP. Maar ik heb mijn benodigde gemounte drives gewoon in de opstartfolder staan. Gewoon via finder en dan je credentials en dan die map toevoegen aan de opstart items (verborgen maar wel gemount).

Wat zijn de voor- of nadelen van deze verschillende methodes dan?

Acties:
  • 0 Henk 'm!

  • bokkow
  • Registratie: November 2005
  • Laatst online: 22:21
Bedankt voor de nuttige input allen! Vooral Madnessy, daar ga ik even mee prutsen.

En Readytoflow: het voordeel zou moeten zijn dat de drives ook worden gemount na uit slaap te zijn gekomen als ik in hetzelfde netwerk ben en anders er gewoon niets gebeurd.

In jouw situatie moet je nu na slaap of eerst inloggen of handmatig mounten. En je krijgt waarschijnlijk een bericht dat de schijven niet kunnen worden gevonden als je je MBPr slapend meeneemt naar een ander netwerk.

Tesla Model 3 Performance - Tesla Model 3 Long Range - 6320Wp Oost-West


Acties:
  • 0 Henk 'm!

  • readytoflow
  • Registratie: Januari 2003
  • Niet online
Het laatste kan ik bevestigen.

Maar dat de schijven niet gemount worden vanuit de slaapmodus?
Mijn NAS mappen zijn eigenlijk altijd wel gemount. Zo heel af en toe zie ik ze niet op mijn bureaublad staan, maar dan is het een kwestie van even aanklikken in finder en dan zijn ze weer gemount.

Ik zal het echter eens in de gaten houden. Misschien is dit ook wel iets voor mij...(heb alleen 0% verstand van dat soort scripts).

Acties:
  • 0 Henk 'm!

  • Madnessy
  • Registratie: Februari 2003
  • Laatst online: 25-09 12:16
readytoflow schreef op woensdag 04 september 2013 @ 12:37:
Het laatste kan ik bevestigen.

Maar dat de schijven niet gemount worden vanuit de slaapmodus?
Mijn NAS mappen zijn eigenlijk altijd wel gemount. Zo heel af en toe zie ik ze niet op mijn bureaublad staan, maar dan is het een kwestie van even aanklikken in finder en dan zijn ze weer gemount.

Ik zal het echter eens in de gaten houden. Misschien is dit ook wel iets voor mij...(heb alleen 0% verstand van dat soort scripts).
dat is dus ook mijn ervaring , ik gebruik zelf vooral koppelingen naar 2 verschillende nassen op mijn mac mini "server" . Ding wordt alleen met updates gereboot dus is het niet heel veel handiger om met scripts te werken. Ook omdat via scripts de rechten niet 100% overkomen (je mount als root dus al je bestanden zijn ook van root , als je een applicatie hebt die gebruik maakt van de nas , zal deze dus ook als root moeten draaien) , via finder worden deze met je user credentials aangemaakt.

Acties:
  • 0 Henk 'm!

  • ppl
  • Registratie: Juni 2001
  • Niet online

ppl

Ik zou het script gebruiken icm iets als ControlPlane. Daarmee kun je instellen dat ie op alleen je thuis netwerk dat script moet draaien. Op werk/school kan hij weer wat anders doen.

Acties:
  • 0 Henk 'm!

  • Hoedje
  • Registratie: April 2003
  • Nu online
Dat is wel een heel handige tip. Dat ga ik ook proberen :)

"If you get up in the morning and think the future is going to be better, it is a bright day. Otherwise, it's not."


  • TeleMax
  • Registratie: Oktober 2004
  • Laatst online: 07-10 16:40
ppl schreef op woensdag 04 september 2013 @ 19:18:
Ik zou het script gebruiken icm iets als ControlPlane. Daarmee kun je instellen dat ie op alleen je thuis netwerk dat script moet draaien. Op werk/school kan hij weer wat anders doen.
toptip!!

  • Waltman
  • Registratie: Juli 2009
  • Laatst online: 11-10-2022
Met automator kun je een script maken welke shares automatisch mount. Als je dit script in inloggen plaatst bij een gebruiker worden de shares keurig gemount zonder dat finder de vensters opent.

Start Automator,
kies voor een nieuw programma, de volgende taken moeten in dit script worden opgenomen:
Haal de opgegeven servers op ( bij bestanden en mappen)
Bijvoorbeeld Smb://192.168.1.1/shares/
Verbind met server ( bij bestanden en mappen)

Je kunt testen of alles werkt met de play knop
Opslaan als app en klaar is het script. Ergens opslaan, bij inloggen opstarten per gebruiker.

Acties:
  • +1 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Nu online
Ik heb een .app bestand voor mijn Synology NAS gemaakt met applescript editor:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
delay 8

set SSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID: / {print $2}'"

if SSID is "***" or SSID is "***" then
    
    
    try
        mount volume "afp://x.x.x.x/folder" as user name "aaaa" with password "aaaa"
        
        mount volume "afp://x.x.x.x/folder" as user name "aaaa" with password "aaaa"
    end try
    
else
    
    try
        mount volume "afp://***.synology.me/folder" as user name "aaaa" with password "aaaa"
        mount volume "afp://***.synology.me/folderl" as user name "aaaa" with password "aaaa"
    end try
    
end if


Opgeslagen als een .app, en toegevoegd aan opstart items bij 'gebruikers en groepen'

Delay is voor het geval dat er nog geen netwerkverbinding is. Enige wat wordt gecheckt is of de SSID overeenkomt met mijn thuis SSID's. Dan wordt er lokaal gemount, anders via synology.me

Misschien niet de veiligste manier omdat de boel in plaintext staat, maar dit werkt voor mij prima!

Edit: Ik heb m'n MBPro bijna nooit in slaapstand vanwege een SSD. Als ik tussendoor van huis ben gegaan dan start ik gewoon even een unmount .app, en de mount .app (spotlight, unmount.app, enter, en weer mounten in mijn geval)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tell application "Finder"
    
    if "folder" exists then
        eject "folder"
    end if
    
    if "Mike" exists then
        eject "Mike"
    end if
    
    if "folder1" exists then
        eject "folder1"
    end if
    
end tell

[ Voor 18% gewijzigd door firecaps30 op 05-09-2013 22:21 ]


Acties:
  • 0 Henk 'm!

  • Qualixo
  • Registratie: Augustus 2013
  • Laatst online: 08:29
Ik heb ook een script wat shares mount op basis van wireless SSID.
zo kan ik drives van thuis of werk mounten, script ziet waar ik ben.
Krijg je er ook nog een mooi growl melding bij.
Zo krijg je ook geen melding dat drives niet beschikbaar zijn.
Als je een kopie wilt stuur maar een dm:)

[ Voor 24% gewijzigd door Qualixo op 06-09-2013 14:59 ]

https://vdr.one | Certified Drone Pilot A1/A3+A2

Pagina: 1