1 votes

Comment créer un lien, pour plusieurs utilisateurs, vers un partage réseau, qui est lui-même sur un partage réseau ?

Solution fonctionnelle basée sur Windows

J'ai un dossier sur un réseau partagé qui fonctionne très bien sous Windows. Il s'agit essentiellement d'un index des autres serveurs de fichiers disponibles. Il ressemble à quelque chose comme ceci :

\\server1\directory
    Server2.lnk   <-(links to \\server2\files)
    Server3.lnk   <-(links to \\server3\files)
    Server4.lnk   <-(links to \\server4\files)

J'essaie de reproduire cette fonctionnalité sous MacOS, mais je me heurte à ces problèmes :

Tentative d'utilisation d'un alias dans MacOS

Je me suis connecté à //server2/files via Finder en utilisant Go -> Connect to Server . Une fois que j'étais connecté en Finder J'ai créé un Alias pour le //server2/files dossier. J'ai ensuite copié ce Alias à la //server1/directory emplacement. Le site Alias fonctionne... tant que j'utilise le même ordinateur que celui à partir duquel j'ai créé les Alias . Mais si j'essaie de l'utiliser à partir d'un autre mac, cela échoue.

L'autre mac ne semble même pas reconnaître le fichier comme une Alias fichier. Il a une icône semblable à un terminal et lorsque je double-clique dessus, le Mac me dit qu'il n'y a pas d'application définie pour ouvrir le fichier. J'ai remarqué que l'original créé Alias n'a pas l'air d'avoir d'extension, donc je ne sais pas comment un autre Mac est censé le reconnaître comme un fichier de type Alias fichier.

Ce qui est bien avec un Windows .lnk est qu'il semble fonctionner de manière fiable et cohérente, quelle que soit la machine à partir de laquelle l'utilisateur peut accéder au fichier. .lnk est accessible, tandis qu'un mac Alias semble dépendre d'une manière ou d'une autre de la configuration de la machine originale où il a été créé.

Par exemple, si j'ouvre le Alias dans vi je peux voir dans le code brouillé qu'il inclut au moins le nom d'utilisateur utilisé pour accéder au partage, alors que je veux que chaque utilisateur qui clique sur l'icône Alias pour accéder au partage en utilisant leurs propres informations d'identification (le mac est joint à AD et les utilisateurs se connectent en utilisant leurs informations d'identification AD). Encore une fois, cela fonctionne de manière transparente avec les chemins d'accès UNC et les noms de domaine. .lnk des fichiers.

Tentative d'utilisation d'un terminal script sous MacOS

J'ai essayé de faire un simple script qui monte les parts. Donc à l'intérieur //server1/directory J'ai créé un fichier Server2.command avec le contenu suivant :

mkdir /Volumes/Server2
mount_smbfs //server2/files /Volumes/Server2
cd /Volumes/Server2
open .

Mon problème avec cette solution est que j'ai plusieurs serveurs et plusieurs utilisateurs qui utilisent la même machine. L'un des grands avantages de l'utilisation du Connect to Server dans le Finder est qu'il semble "nettoyer" automatiquement le fichier /Volumes répertoire. Après l'éjection d'un partage, ou après la fin d'une session, il supprime le répertoire /Volumes/Sharename dossier. Je ne vois aucun moyen d'obtenir le même comportement si j'utilise cette solution basée sur le terminal.

Question

Est-ce que quelqu'un peut me donner un bon moyen de reproduire la .lnk fonctionnalité que j'ai décrite ci-dessus ?

Je sais que les liens Windows fonctionnent via des chemins UNC, alors que sous MacOS, je ne peux accéder à ces partages réseau que par l'intermédiaire de l'option smb o afp mais comme je vois que le Connect to Server fonctionne à peu près comme je l'entends, j'ai juste besoin d'un moyen d'utiliser cette même fonctionnalité, avec la réserve que je dois l'automatiser, parce que je ne vais pas demander à mes utilisateurs (j'en ai plusieurs qui utilisent la même machine) de créer chacun un fichier Connect to Server Alias manuellement.

3voto

Daniel Points 616

J'ai trouvé la réponse. Vous devez créer un .afploc fichier. Ceci est similaire à un .inetloc fichier.

La façon la plus simple de créer un .afploc fichier :

  1. ouvrir Finder
  2. Go -> Connect to Server
  3. tapez l'adresse dans le champ Connect to Server (par exemple afp://server.domain.com/
  4. surligner ce que vous venez de taper ( afp://server.domain.com )
  5. saisissez ce que vous venez de mettre en évidence et faites-le glisser sur le bureau (ou n'importe quel dossier, vraisemblablement) et relâchez la touche
  6. un fichier nommé server.domain.com.afploc devrait être créé automatiquement sur votre bureau
  7. vous pouvez alors copier ce fichier n'importe où et il fonctionnera pour démarrer automatiquement le Go -> Connect to Server processus sur n'importe quel ordinateur mac
  8. vous pouvez également renommer le fichier si vous le souhaitez, et vous pouvez modifier son contenu pour créer d'autres .afploc des fichiers qui pointent vers d'autres serveurs ou chemins
  9. vous pouvez également utiliser ce même processus et substituer un smb:// Cela crée un .inetloc qui fonctionne de la même manière

2voto

mivk Points 807

Pour compléter La réponse de Daniel il convient de noter que ces fichiers .afploc ou .inetloc ne sont que de simples fichiers plist XML. Vous pouvez donc aussi les générer à la main ou à partir d'un script. Un exemple de fichier pour un partage smb ressemble à ceci :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>URL</key>
    <string>smb://server/share</string>
</dict>
</plist>

Ainsi, si vous avez beaucoup de raccourcis de ce type à définir, vous pourriez avoir un fichier comme celui-ci :

$ cat shares.txt 
server1 share1
server2 share2
server3 other-share

Et ensuite, exécutez ceci pour générer des fichiers .inetloc pour chaque partage de serveur :

cat shares.txt | while read server share; do
  cat <<'EOF' >"$server-$share.inetloc"
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
      <key>URL</key>
      <string>smb://$server/$share</string>
  </dict>
  </plist>
EOF
done

-2voto

JPG_master Points 7

Mon sentiment sur ce que vous voulez réaliser dans Mac OS (ou un Unix) fonctionne avec un lien symbolique. Le Finder a des fonctionnalités supérieures aux fonctions intégrées de l'OS. Je suppose qu'un alias ne fonctionnera pas avec le Terminal / Shell. Les liens symboliques sont créés sur le shell mais fonctionnent également de manière transparente dans le Finder. Essayez le fil de discussion Sauvegarde de l'iPhone sur un disque externe sur Mac ... ceci explique merveilleusement bien les liens symboliques.

J'espère que c'est ce que vous recherchez !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X