Я использую небольшой скрипт VB, чтобы просто переместить значки на рабочий стол каждого пользователя вместо общедоступного. Я уверен, что есть лучший способ узнать имя каждого пользователя, но я просто прописал его жестко. Он по-прежнему будет размещать значки в профиле каждого пользователя, но, по крайней мере, каждый может выбрать, есть ли у него он или нет.
Скопируйте следующее в Блокнот и сохраните на рабочий стол в виде файла .vbs. Измените Пользователи, чтобы соответствовать Пользователям компьютера. И измените строку «dim User(4)» на количество ваших пользователей. Если вы введете себя в качестве пользователя (1), он откроет папку рабочего стола после того, как скопирует значки, чтобы вы могли удалить все, что вам не нужно. Если у вас есть новые значки, просто дважды щелкните по ним, и они будут перемещены из папки "Public".
Dim ObjFso
Dim StrSourceLocation
Dim StrDestinationLocation
Dim StrSourceFileName
Dim StrDestinationFileName
dim objFileCopy
dim file
dim Users(4)
dim i
Dim SH, txtFolderToOpen
StrSourceLocation = "C:\Users\Public\Desktop"
Users(1) = "Brian"
Users(2) = "Danny"
Users(3) = "Cory"
Users(4) = "Jess"
on error Resume Next
for i = 1 to 4
StrDestinationLocation = "C:\Users\" & Users(i) & "\Desktop"
'All text files will be copied to destination
StrSourceFileName = "*.*"
'Creating the file system object
Set ObjFso = CreateObject("Scripting.FileSystemObject")
'Copying the file
ObjFso.CopyFile StrSourceLocation & "\" & StrSourceFileName, StrDestinationLocation & "\" , True
if err.Number <> 0 then
Msgbox "No files to move"
WScript.Quit
end if
Next
Set ObjFso = CreateObject("Scripting.FileSystemObject")
For Each file In ObjFso.GetFolder(StrSourceLocation).Files
file.delete
Next
Set SH = WScript.CreateObject("Shell.Application")
txtFolderToOpen = "C:\Users\" & users(1) & "\Desktop"
SH.Explore txtFolderToOpen
Set SH = Nothing