Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Очистка рабочего стола/моих документов

Ответить
Настройки темы
VBS/WSH/JS - Очистка рабочего стола/моих документов
jbk jbk вне форума

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: jbk
Дата: 23-03-2015
Добрый день,

необходим скрипт, который будет отрабатывать при выходе пользователя из системы...

нужно чтобы скрипт вначале скопировал все файлы с Рабочего стола и из Моих документов в сетевую папку \\server\Profiles$ создавая для каждого %userprofile% отдельный каталог и копировал в него соотв документы и рабочий стол, сохраняя структуру каталогов,

а затем бы удалил с рабочего стола и моих документов все файлы/папки кроме *.lnk и *.rdp (но эти файлы должны остаться только в корне рабочего стола и моих документов - если были такие файлы во вложенных папках - то их удалять вместе с папками)

главный смысл - все данные слить в сетевую папку,

а рабочий стол/мои документы оставить только с *.lnk и *.rdp файлами, без каких-либо папок и пр. файлов

Отправлено: 22:45, 22-03-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


jbk, пока в Вашем коде будет тупо присутствовать первой строкой «On Error Resume Next» — и не такое будет убивать. А что на самом деле обязано присутствовать в первой строке — так это «Option Explicit».

Отправлено: 11:32, 24-03-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

jbk jbk вне форума Автор темы

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, да код не мой, я вообще ничего не понимаю в программировании).... изменил как мог для себя...

On Error Resume Next в рабочем скрипте, я закомментил....

если добавлю Option Explicit
то тогда вообще не понимаю что и как делать.....

Отправлено: 11:35, 24-03-2015 | #12


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


jbk, пробуйте:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim objFSO

Dim strDestFolder
Dim strUserNameDestFolder
Dim strSourceFolder
Dim strFullDestFolder

Dim objFolder
Dim objFile


strDestFolder = "\\server\Profiles$"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strDestFolder) Then
	strUserNameDestFolder = objFSO.BuildPath(strDestFolder, WScript.CreateObject("WScript.Network").UserName)
	
	If Not objFSO.FolderExists(strUserNameDestFolder) Then
		objFSO.CreateFolder strUserNameDestFolder
	End If
	
	
	strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
	strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder))
	
	If Not objFSO.FolderExists(strFullDestFolder) Then
		objFSO.CreateFolder strFullDestFolder
	End If
	
	With objFSO.GetFolder(strSourceFolder)
		.Copy strFullDestFolder, True
	End With
	
	
	strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop")
	strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder))
	
	If Not objFSO.FolderExists(strFullDestFolder) Then
		objFSO.CreateFolder strFullDestFolder
	End If
	
	With objFSO.GetFolder(strSourceFolder)
		.Copy strFullDestFolder, True
		
		For Each objFolder In .SubFolders
			'WScript.Echo "[" & objFolder.Path & "]"
			.Attributes = 0
			.Delete True
		Next
		
		For Each objFile In .Files
			Select Case LCase(objFSO.GetExtensionName(objFile.Name))
				Case "lnk", "url"
					' Nothing to do
				Case Else
					With objFile
						'WScript.Echo objFile.Path
						.Attributes = 0
						.Delete True
					End With
			End Select
		Next
	End With
Else
	WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

Отправлено: 16:56, 24-03-2015 | #13


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день Iska.

У меня вопрос по скрипту, который вы опубликовали.

Я разместил данный скрипт в GPO при выходе пользователя из системы.
Все успешно переносится в папку на сервер, но не удаляется информация из папки мои документы и возникает окно с ошибкой 800a0046.

В чем может быть дело.

Так же на рабочем столе не сохраняются lnk, rdp и url. У некоторых пользователей полностью, у некоторых частично.

Еще почему то Windows 10 очень долго думает при выходе из системы и при перезагрузке с этим скриптом.

Помогите решить вопрос.

Заранее огромное спасибо.

Последний раз редактировалось Aelksey Kha, 26-05-2016 в 17:20.


Отправлено: 16:43, 26-05-2016 | #14


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Aelksey Kha:
У меня вопрос по скрипту, который вы опубликовали. »
По этому?

Цитата Aelksey Kha:
Я разместил данный скрипт в GPO при выходе пользователя из системы. »
Без изменений (кроме пути, разумеется)?

Цитата Aelksey Kha:
но не удаляется информация из папки мои документы и возникает окно с ошибкой 800a0046. »
Покажите скриншот окна ошибки («Alt-PrintScreen») или его содержимое («Ctrl-C»).

Цитата Aelksey Kha:
Так же на рабочем столе не сохраняются lnk, rdp и url. У некоторых пользователей полностью, у некоторых частично. »
«.lnk» и «.url» в корне Рабочего стола не должны удаляться. Чтобы не удалялись также «.rdp», добавьте это расширение:
Код: Выделить весь код
				Case "lnk", "url", "rdp"
Цитата Aelksey Kha:
Еще почему то Windows 10 очень долго думает при выходе из системы и при перезагрузке с этим скриптом. »
У меня нет Windows 10. «Думать» там особо нечему, кроме копирования. Если копирование занимает свыше 10 минут (по умолчанию; для Windows 8.1 и, надо думать, выше — появилось ещё такое: Logon scripts do not run for five minutes after a user logs on to a Windows 8.1-based computer, не знаю, зачем, не знаю, влияет ли и на LogOff) — работа скрипта, назначенного на Logoff пользователя будет прервана.

Отправлено: 18:09, 26-05-2016 | #15


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 2016-05-26_18-58-42.png
(7.7 Kb, 20 просмотров)

Iska, спасибо за ответ и размещенный скрипт, то что требовалось он делает, но только жаль что есть ошибки(

1) Да все верно, именно этот скрипт.
Огромное вам спасибо еще раз за размещение.

2) Я изменил путь к серверу соответственно.

3) После запуска скрипта выскакивает окно. Я во вложении разместил скрин.
Попытался подшаманить и убрал строку

[q=Iska]strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder))
If Not objFSO.FolderExists(strFullDestFolder) Then
objFSO.CreateFolder strFullDestFolder
End If
With objFSO.GetFolder(strSourceFolder)
.Copy strFullDestFolder, True
End With »[/q
]

После удаления этой строки скрипт срабатывает, но не копирует и не удаляет файлы из документов пользователя.

Копирует рабочий стол нормально и очищает тоже без этой строчки, но только вместе с файлами у пользователей удаляются lnk и rdp файлы тоже.

4) "rdp" в строчку я пробовал добавить, но безрезультатно, все тоже самое.

5) Windows 10 думает очень долго, но перезагружается или выходит из системы. На рабочем столе все очищается.
Пофиксить проблему я так понимаю не получится(

P.S. Так же при работе скрипта без этой строчки, во время первого выхода все хорошо, но второй и последующие входы с новыми файлами на рабочем столе выскакивают ошибки непонятные, но все переносится и чистится.

Отправлено: 19:09, 26-05-2016 | #16


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день Iska.

Вы мне поможете с выполнением сценария vbs?

Отправлено: 09:19, 27-05-2016 | #17


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Aelksey Kha:
3) После запуска скрипта выскакивает окно. Я во вложении разместил скрин. »
Ну, так там вроде бы явно написано, что «разрешение отклонено». Либо на доступ к какой-либо папке из «Моих документов» у пользователя не хватает прав, либо у него не хватает прав на создание подкаталогов и файлов в них на сервере. Я бы начал с проверки этого варианта (AccessEnum в помощь).

Цитата Aelksey Kha:
Попытался подшаманить и убрал строку…
После удаления этой строки скрипт срабатывает, но не копирует и не удаляет файлы из документов пользователя.»
Только «не копирует». Удаление происходит ниже, и вовсе не в «Моих документах», а на «Рабочем столе».

Цитата Aelksey Kha:
Копирует рабочий стол нормально и очищает тоже без этой строчки, но только вместе с файлами у пользователей удаляются lnk и rdp файлы тоже. »
«Эта строчка» относится только к «Моим документам». Обработка «Рабочего стола» происходит ниже.

Цитата Aelksey Kha:
4) "rdp" в строчку я пробовал добавить, но безрезультатно, все тоже самое. »
«Не верю».

Отправлено: 05:32, 29-06-2016 | #18



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Очистка рабочего стола/моих документов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Исчезло почти все с моих документов и рабочего стола. ZioniC Microsoft Windows 8 и 8.1 2 06-11-2013 03:39
CMD/BAT - Очистка рабочего стола sov44 Скриптовые языки администрирования Windows 3 10-11-2012 20:23
CMD/BAT - [решено] Сортировка документов с рабочего стола по пакам O L E G Скриптовые языки администрирования Windows 4 07-09-2012 10:01
Ошибка - Самопроизвольно удалились файлы с рабочего стола и из моих документов old_nick Microsoft Windows 2000/XP 7 07-01-2011 09:58
Любой язык - автоматиеская очистка рабочего стола sanek-l Скриптовые языки администрирования Windows 1 21-07-2010 12:43




 
Переход