![]() |
Скрипт vbs для создания ярлыка на рабочем столе
Всем привет!
Я нашёл у вас на форуме нужный мне скрипт для создания ярлыков. Но он у меня не работает и выдаёт ошибку, я не просто не понимаю что тут не так? Уважаемые знатоки, посмотрите его и если можете исправте пожалуйста? PHP код:
|
angel_lyucifer, потому что это пакетный файл — гибрид из пакетного файла, вызова JScript-интерпретатора и VBScript-кода.
Сохраняете его как «Name.cmd» и вызываете, например: Код:
E:\Песочница\0336\0005.cmd Одним словом, крайне неудачный выбор. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
А как добавить описание для этого ярлыка? |
Код:
With WScript.CreateObject("WScript.Shell") |
Большое спасибо, Iska! =)
|
а как выполнить его на удаленном компьютере для определенного пользователя. ПК в домене.
|
Цитата:
|
а без участия политик ?.
|
«Для определённого пользователя» — никак. Можно только «от имени указанного пользователя». То есть, нужно знать его пароль. Чего в нормальном окружении быть не должно.
P.S. Вы уверены, что ярлык нужен отдельным указанным пользователям, а не всем? |
опреденно вы правы, процесс чтоб попасть в свой профиль должен быть от имени пользователя, однако:
1) скрипт нашел нужный ПЭВМ 2) скрипт помнит нужного пользователя пользователя 3) скрипт создает нужный ярлык - путь на запуск того что надо. 4) скрипт создает права - безопасность на выполнение файла, добавив что вася пупкин может запускать этот файл 3) скрипт засовывает на нужном компе в профиль пользователю нужный файл. пункт 1 и 3 можно поменять местами. при этом алгоритме "запуск от имени" для создания ярлыка непотребуется, достаточно пермишны установить мог админ через скрипт. упрощено: создал сам себе ярлык запихнул в профиль пользователя на нужном компе там выставил на файл .lnk пермишионалы |
Цитата:
Цитата:
|
Цитата Iska:
И как именно Вы определите, где именно у конкретно взятого пользователя на конкретной машине расположен Рабочий стол? » %USERPROFILE%\Desktop\ |
BOBAT, откуда Вы возьмёте «%USERPROFILE%» пользователя «X» для машины «Y» при исполнении скрипта под пользователем, отличным от «X», на машине «Z»? Далее, откуда такая уверенность, что папка Рабочего стола именуется исключительно «Desktop»? «Это не есть факт, месье Дюк» (с).
|
Есть вопрос по созданию ярлыка запуская скрипт из гиены,кто подскажет?
|
Цитата:
|
Гиена утилита с помощью которой я админю компы в домене,типа DameWare NT Utilities
с помощью гиены я запускаю скрипт на определенном компьютере,проблема заключается в том-не могу никак додумать создание ярлыка на компе где запустил скрипт,вот пример Set WshShell = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Set Argum = WScript.Arguments strComputer = Argum(0) Dim oShell Dim oShortCut set oShell = WScript.CreateObject ("WScript.Shell") DesktopPath = oShell.SpecialFolders("AllUsersDesktop") Set oShortCut = oShell.CreateShortcut(DeskTopPath & "\\" & strComputer & "\Proga.lnk") oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe" oShortCut.Save в конце выдает ошибку: "C:\Users\Public\Desktop\имя компа\Ярлык.lnk" |
Цитата:
|
Путь и название скрипта затер
http://s018.radikal.ru/i521/1601/db/ad7dcf461478.jpg То что строка 48 не обращайте внимание,там много закомментировано просто. 48 строка это <oShortCut.Save> QR-это имя удаленного компа |
Путь «c:\Users\Public\Desktop\QR» существует?
|
Смотрите скрипт я запускаю на удалённом компе с именем QR
А ошибка выскакивает как будто в папке "Все пользователи"\Рабочий стол\QR Сам компьютер QR по сети доступен естественно. Сам скрипт отрабатываю на ОС WindowsXp что говорит о том что на удаленной машине он не отрабатывается, а отрабатывается на моей ОС Windows 7,так как путь типа "c:\Users\Public\" начинается с ОС Windows 7 |
Цитата:
Цитата:
Код:
oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe" Цитата:
Цитата:
|
Так вот в этом то и вопрос,что мне нужно дописать чтобы эта команда отрабатывалась на удаленном компе
Set oShortCut = oShell.CreateShortcut(DeskTopPath & "\\" & strComputer & "\Proga.lnk") oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe" oShortCut.Save Как например вот копирование файлов Set objFSO = CreateObject("Scripting.FileSystemObject") path = FPath&"\\server\enterprise\Proga\*.*" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.CreateFolder("\\" & strComputer & "\C$\Proga") path2 = "\\" & strComputer & "\C$\Proga\" objFSO.CopyFile path, path2, True Копировании файлов отрабатывается на удалённом компе |
Цитата:
Цитата:
Цитата:
|
Тоесть создать ярлык на удаленном компе без указания в скрипте его конкретного имени(ip адреса) невозможно?
|
venom05, Вы никак не поймёте.
Вот, смотрите. Мы создали некий скрипт, который создаёт ярлык на общем рабочем столе на некое приложение/документ. Проверили — скрипт работает корректно. На этом со скриптом мы закончили. Совсем. Теперь нам надо, чтобы этот скрипт отработал на машинах X, Y и Z. Для этого мы совсем не касаемся содержимого скрипта, а используем средства удалённого управления, посредством которых мы можем исполнить данный скрипт на машинах X, Y и Z: Цитата:
|
средства удалённого управления мы используем для запуска всего лишь этого скрипта на компе,а мой вопрос в том и был как сделать чтобы он заработал на удаленной машине.Эх ладно может кто еще отпишется
|
Цитата:
Цитата:
|
Цитата:
Set oShortCut = oShell.CreateShortcut(DeskTopPath & "\\" & strComputer & "\Proga.lnk") oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe" oShortCut.Save |
В AD есть группы group1 и group2.
Задача: для пользователей группы group1 создать ярлык на рабочем столе shortcut1, для пользователей группы group2 создать ярлык на рабочем столе shortcut2 Пока тривиально, да :) Ярлык shortcut1 и shortcut2 указывают на сетевые шары \\192.168.1.1\share1 и \\192.168.1.1\share2, доступ к которой осуществляется по логину/паролю Создал 2 политики (shortcut_for_group1 и shortcut_for_group2) Конфигурация пользователя -> Конфигурация Windows -> Сценарии -> Вход в систему -> \\192.168.1.100\shareforall\docs_group1.vbs Конфигурация пользователя -> Конфигурация Windows -> Сценарии -> Вход в систему -> \\192.168.1.100\shareforall\docs_group2.vbs Содержимое файлов Код:
Set Shell = CreateObject("WScript.Shell") Код:
Set Shell = CreateObject("WScript.Shell") Результат: ярлык на рабочем столе пользователей, входящих в группу group1 или group2 НЕ создается. Если в сеансе пользователя сделать Пуск-Выполнить-\\192.168.1.100\shareforall\docs_group1.vbs, то ярлык создается. Вопрос: в чем ошибка? |
Время: 05:27. |
Время: 05:27.
© OSzone.net 2001-