Créer un raccourci vers une unité (ntds) depuis un batch file ou un VBScript
2 réponses
Glenn Gagné
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau des
mes usagers lors de l 'ouverture de session. Ce raccourci pointe vers
l'Active Directory (plus précisément dans l'unité des usagers) afin d'avoir
un raccourci rapide pour en faire un carnet de contacts pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai trouvé
comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très bien. Par
contre, si je veux faire pointer le raccourci vers un lien NTDS (AD) ça ne
marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça marche
très bien !!! Sauf que dans mon cas ce n'est pas vraiment un fichier...
c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci... mais il
ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur l'unité et
créer un raccouci), le raccourci (.lnk) pointe vers
"ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\documents and settings\%username%\bureau\domaine.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "ntds://mondomaine.com/Mon Unité"
oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à Internet
Explorer comme si c'était un .url ! et si je regarde le contenu de
l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci
Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne comporte
aucon programme enregistré
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jbongran
Glenn Gagné wrote:
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau des mes usagers lors de l 'ouverture de session. Ce raccourci pointe vers l'Active Directory (plus précisément dans l'unité des usagers) afin d'avoir un raccourci rapide pour en faire un carnet de contacts pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très bien. Par contre, si je veux faire pointer le raccourci vers un lien NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci... mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur l'unité et créer un raccouci), le raccourci (.lnk) pointe vers "ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:documents and settings%username%bureaudomaine.lnk" Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "ntds://mondomaine.com/Mon Unité" oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à Internet Explorer comme si c'était un .url ! et si je regarde le contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ? J'ai déja contourné ce type de souci comme ça: Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le contenu. Creer par script, à l'aide de l'objet FileSystem un fichier .link contenant exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript: sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk" Car je ne suis pas sur du comportement de la variable %username% utilisée dans ce contexte (jamais fait l'essai, quelqu'un?)
Glenn Gagné wrote:
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau
des mes usagers lors de l 'ouverture de session. Ce raccourci pointe
vers l'Active Directory (plus précisément dans l'unité des usagers)
afin d'avoir un raccourci rapide pour en faire un carnet de contacts
pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai
trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très
bien. Par contre, si je veux faire pointer le raccourci vers un lien
NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça
marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un
fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci...
mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur
l'unité et créer un raccouci), le raccourci (.lnk) pointe vers
"ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:documents and settings%username%bureaudomaine.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "ntds://mondomaine.com/Mon Unité"
oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à
Internet Explorer comme si c'était un .url ! et si je regarde le
contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci
Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne
comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ?
J'ai déja contourné ce type de souci comme ça:
Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le
contenu.
Creer par script, à l'aide de l'objet FileSystem un fichier .link contenant
exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript:
sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk"
Car je ne suis pas sur du comportement de la variable %username% utilisée
dans ce contexte (jamais fait l'essai, quelqu'un?)
Je veux simplement créer un raccourci qui va être placé sur le bureau des mes usagers lors de l 'ouverture de session. Ce raccourci pointe vers l'Active Directory (plus précisément dans l'unité des usagers) afin d'avoir un raccourci rapide pour en faire un carnet de contacts pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très bien. Par contre, si je veux faire pointer le raccourci vers un lien NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci... mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur l'unité et créer un raccouci), le raccourci (.lnk) pointe vers "ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:documents and settings%username%bureaudomaine.lnk" Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "ntds://mondomaine.com/Mon Unité" oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à Internet Explorer comme si c'était un .url ! et si je regarde le contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ? J'ai déja contourné ce type de souci comme ça: Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le contenu. Creer par script, à l'aide de l'objet FileSystem un fichier .link contenant exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript: sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk" Car je ne suis pas sur du comportement de la variable %username% utilisée dans ce contexte (jamais fait l'essai, quelqu'un?)
Glenn Gagné
Non, effectivement, j'ai donné ... un mauvais exemple. La variable %username% n'est pas une variable valide pour le PATH, je l'ai simplement écrit pour bien expliquer le contexte de ce que je voulais faire (créer un raccourci sur le bureau de l'usager).
Par contre le problème que j'ai ne parvient pas de cette variable, mais du fait d'utiliser un PATH cheminant vers "ntds" au-lieu d'un dossier standard (C:...), car simplement en voulant fair le test dans un dossier simple le raccourci ne se génère pas sous le bon format.
Merci pour le moment, Si quelqu'un a déjà réussi l'exploit de créer le raccourci depuis un script vers un chemin ntds, svp me faire parvenir un exemple.
"jbongran" a écrit dans le message de news:
Glenn Gagné wrote:
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau des mes usagers lors de l 'ouverture de session. Ce raccourci pointe vers l'Active Directory (plus précisément dans l'unité des usagers) afin d'avoir un raccourci rapide pour en faire un carnet de contacts pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très bien. Par contre, si je veux faire pointer le raccourci vers un lien NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci... mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur l'unité et créer un raccouci), le raccourci (.lnk) pointe vers "ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:documents and settings%username%bureaudomaine.lnk" Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "ntds://mondomaine.com/Mon Unité" oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à Internet Explorer comme si c'était un .url ! et si je regarde le contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ? J'ai déja contourné ce type de souci comme ça: Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le contenu. Creer par script, à l'aide de l'objet FileSystem un fichier .link contenant
exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript: sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk" Car je ne suis pas sur du comportement de la variable %username% utilisée dans ce contexte (jamais fait l'essai, quelqu'un?)
Non, effectivement, j'ai donné ... un mauvais exemple. La variable
%username% n'est pas une variable valide pour le PATH, je l'ai simplement
écrit pour bien expliquer le contexte de ce que je voulais faire (créer un
raccourci sur le bureau de l'usager).
Par contre le problème que j'ai ne parvient pas de cette variable, mais du
fait d'utiliser un PATH cheminant vers "ntds" au-lieu d'un dossier standard
(C:...), car simplement en voulant fair le test dans un dossier simple le
raccourci ne se génère pas sous le bon format.
Merci pour le moment, Si quelqu'un a déjà réussi l'exploit de créer le
raccourci depuis un script vers un chemin ntds, svp me faire parvenir un
exemple.
"jbongran" <jbongran@free.fr> a écrit dans le message de
news:O71LCjRLGHA.3496@TK2MSFTNGP14.phx.gbl...
Glenn Gagné wrote:
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau
des mes usagers lors de l 'ouverture de session. Ce raccourci pointe
vers l'Active Directory (plus précisément dans l'unité des usagers)
afin d'avoir un raccourci rapide pour en faire un carnet de contacts
pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai
trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très
bien. Par contre, si je veux faire pointer le raccourci vers un lien
NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça
marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un
fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci...
mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur
l'unité et créer un raccouci), le raccourci (.lnk) pointe vers
"ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:documents and settings%username%bureaudomaine.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "ntds://mondomaine.com/Mon Unité"
oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à
Internet Explorer comme si c'était un .url ! et si je regarde le
contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci
Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne
comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ?
J'ai déja contourné ce type de souci comme ça:
Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le
contenu.
Creer par script, à l'aide de l'objet FileSystem un fichier .link
contenant
exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript:
sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk"
Car je ne suis pas sur du comportement de la variable %username% utilisée
dans ce contexte (jamais fait l'essai, quelqu'un?)
Non, effectivement, j'ai donné ... un mauvais exemple. La variable %username% n'est pas une variable valide pour le PATH, je l'ai simplement écrit pour bien expliquer le contexte de ce que je voulais faire (créer un raccourci sur le bureau de l'usager).
Par contre le problème que j'ai ne parvient pas de cette variable, mais du fait d'utiliser un PATH cheminant vers "ntds" au-lieu d'un dossier standard (C:...), car simplement en voulant fair le test dans un dossier simple le raccourci ne se génère pas sous le bon format.
Merci pour le moment, Si quelqu'un a déjà réussi l'exploit de créer le raccourci depuis un script vers un chemin ntds, svp me faire parvenir un exemple.
"jbongran" a écrit dans le message de news:
Glenn Gagné wrote:
Bonjour,
Je veux simplement créer un raccourci qui va être placé sur le bureau des mes usagers lors de l 'ouverture de session. Ce raccourci pointe vers l'Active Directory (plus précisément dans l'unité des usagers) afin d'avoir un raccourci rapide pour en faire un carnet de contacts pour tout le monde.
Je n'ai pas trouvé de moyen standard avec le batch file, mais j'ai trouvé comment créer un raccourci avec VBScript.
J'ai testé le VBS avec un fichier "normal" et ça fonctionne très bien. Par contre, si je veux faire pointer le raccourci vers un lien NTDS (AD) ça ne marche pas.
J'ai testé avec n'importe quel types de fichiers "standard" et ça marche très bien !!! Sauf que dans mon cas ce n'est pas vraiment un fichier... c'est un raccourci vers une unité d'organisation.
Le bug:
avec la formule du VBScript ça génère effectivement un raccourci... mais il ne marche pas.
Si je fais un raccourci de façon manuelle (avec un clic-droit sur l'unité et créer un raccouci), le raccourci (.lnk) pointe vers "ntds://mondomaine.com/Mon Unité".
Si je lance la commande VBScript de cette manière:
Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:documents and settings%username%bureaudomaine.lnk" Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "ntds://mondomaine.com/Mon Unité" oLink.Save
Il créé effectivement le raccourci (.lnk) ...mais il l'associe à Internet Explorer comme si c'était un .url ! et si je regarde le contenu de l'emplacement c'est: ntds://mondomaine.com/Mon%20Unité
Et si je clique sur le lien pour le lancer ça écrit:
Problème de raccourci Impossible d'ouvrir ce raccourci Internet. Le protocole ntds ne comporte aucon programme enregistré
À l'aide !
Surement une limitation de la propriété TargetPath ? J'ai déja contourné ce type de souci comme ça: Ouvrir le fichier .lnk créé manuellement dans le bloc notes et copier le contenu. Creer par script, à l'aide de l'objet FileSystem un fichier .link contenant
exactement le texte récuperé du bloc notes ;-)
Aussi, extrait de la doc de vbscript: sLinkFile = WshShell.SpecialFolders("Desktop") & "Domaine.lnk" Car je ne suis pas sur du comportement de la variable %username% utilisée dans ce contexte (jamais fait l'essai, quelqu'un?)