Войти

Показать полную графическую версию : [решено] Скрипт vbs для создания ярлыка на рабочем столе


Страниц : 1 [2]

venom05
26-01-2016, 14:07
Путь и название скрипта затер

http://s018.radikal.ru/i521/1601/db/ad7dcf461478.jpg

То что строка 48 не обращайте внимание,там много закомментировано просто.
48 строка это <oShortCut.Save>

QR-это имя удаленного компа

Iska
26-01-2016, 14:50
Путь «c:\Users\Public\Desktop\QR» существует?

venom05
26-01-2016, 15:16
Смотрите скрипт я запускаю на удалённом компе с именем QR
А ошибка выскакивает как будто в папке "Все пользователи"\Рабочий стол\QR
Сам компьютер QR по сети доступен естественно.
Сам скрипт отрабатываю на ОС WindowsXp что говорит о том что на удаленной машине он не отрабатывается, а отрабатывается на моей ОС Windows 7,так как путь типа "c:\Users\Public\" начинается с ОС Windows 7

Iska
26-01-2016, 15:40
А ошибка выскакивает как будто в папке "Все пользователи"\Рабочий стол\QR »
А почему удивляетесь? У Вас именно так и написано:
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

»
Дальнейший кусок:
oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe"
для меня столь же загадочен.

Сам скрипт отрабатываю на ОС WindowsXp что говорит о том что на удаленной машине он не отрабатывается, а отрабатывается на моей ОС Windows 7,так как путь типа "c:\Users\Public\" начинается с ОС Windows 7 »
Ну, эти вопросы следует адресовать к Вашей:
Гиена утилита с помощью которой я админю компы в домене,типа DameWare NT Utilities »
ибо я с сим не работал.

venom05
26-01-2016, 16:10
Так вот в этом то и вопрос,что мне нужно дописать чтобы эта команда отрабатывалась на удаленном компе

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

Копировании файлов отрабатывается на удалённом компе

Iska
26-01-2016, 19:51
Так вот в этом то и вопрос,что мне нужно дописать чтобы эта команда отрабатывалась на удаленном компе »
Ничего не надо дописывать. Это надо реализовывать средствами удалённого управления, будь то групповые политики, telnet, Remote Console, RDP и прочее, хоть «wmic.exe Process call …». Вы же сами пишете, что:
Гиена утилита с помощью которой я админю компы в домене,типа DameWare NT Utilities »
Сам же скрипт должен работать локально для той или иной машины. Понимаете?

Копировании файлов отрабатывается на удалённом компе »
В показанном примере — копирование отрабатывает на локальной машине.

venom05
27-01-2016, 09:01
Тоесть создать ярлык на удаленном компе без указания в скрипте его конкретного имени(ip адреса) невозможно?

Iska
27-01-2016, 09:12
venom05, Вы никак не поймёте.

Вот, смотрите. Мы создали некий скрипт, который создаёт ярлык на общем рабочем столе на некое приложение/документ. Проверили — скрипт работает корректно. На этом со скриптом мы закончили. Совсем.

Теперь нам надо, чтобы этот скрипт отработал на машинах X, Y и Z. Для этого мы совсем не касаемся содержимого скрипта, а используем средства удалённого управления, посредством которых мы можем исполнить данный скрипт на машинах X, Y и Z:
групповые политики, telnet, Remote Console, RDP и прочее, хоть «wmic.exe Process call …». »
То есть, никакие имена/IP-адреса в самом данном скрипте не указываются и не используются.

venom05
28-01-2016, 09:05
средства удалённого управления мы используем для запуска всего лишь этого скрипта на компе,а мой вопрос в том и был как сделать чтобы он заработал на удаленной машине.Эх ладно может кто еще отпишется

Iska
28-01-2016, 09:32
средства удалённого управления мы используем для запуска всего лишь этого скрипта на компе, »
На удалённой машине.

а мой вопрос в том и был как сделать чтобы он заработал на удаленной машине. »
Так Вы же пишете, что он у Вас работает на локальной машине, а не удалённой. Но не пишете как конкретно Вы пытаетесь организовать его исполнение на удалённой машине посредством Hyena.

venom05
29-01-2016, 09:29
Так Вы же пишете, что он у Вас работает на локальной машине, а не удалённой. Но не пишете как конкретно Вы пытаетесь организовать его исполнение на удалённой машине посредством Hyena
Не, кусок кода с копированием файлов который я привел-он работает на удаленной машине посредством Hyena.А как дописать тот скрипт чтобы на удалённой машине еще создавался ярлык.Данный кусок кода на удаленной машине не отрабатывается,а отрабатывается на локальной.А мне нужно чтобы ярлык создавался на удалённой.
Set oShortCut = oShell.CreateShortcut(DeskTopPath & "\\" & strComputer & "\Proga.lnk")
oShortCut.TargetPath = "\\" & strComputer & "C:\Proga\Proga.exe"
oShortCut.Save

Crag Hack
27-11-2017, 14:26
В 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")
DesktopPath = Shell.SpecialFolders("Desktop")
Set link = Shell.CreateShortcut(DesktopPath & "\shortcut1.lnk")
link.Description = "shortcut_for_group1"
link.IconLocation = "%SystemRoot%\system32\SHELL32.dll,9"
link.TargetPath = "\\192.168.1.1\share1"
link.WindowStyle = 1
link.Save
и
Set Shell = CreateObject("WScript.Shell")
DesktopPath = Shell.SpecialFolders("Desktop")
Set link = Shell.CreateShortcut(DesktopPath & "\shortcut2.lnk")
link.Description = "shortcut_for_group2"
link.IconLocation = "%SystemRoot%\system32\SHELL32.dll,9"
link.TargetPath = "\\192.168.1.1\share2"
link.WindowStyle = 1
link.Save

Прицепил групповую политику к нужному подразделения, в фильтрах безопасности указал group1 и group2 соответственно.
Результат: ярлык на рабочем столе пользователей, входящих в группу group1 или group2 НЕ создается.
Если в сеансе пользователя сделать Пуск-Выполнить-\\192.168.1.100\shareforall\docs_group1.vbs, то ярлык создается.

Вопрос: в чем ошибка?




© OSzone.net 2001-2012