PDA

Показать полную графическую версию : Как задать всем юзерам TEMP = C:\TEMP


Dezz
19-01-2005, 14:00
Т.е. фишка такая...
Допустим я хочу, чтобы все создаваемые пользователи на на компьютере
(не в домене) имели при создании системные и пользовательские переменные:
TEMP = C:\TEMP
TMP = C:\TEMP
т.е. чтоб не нужно было лазить в "свойства компьютера" у каждого и править переменные ручками...

Я знаю один способ, когда создаётся профиль с администраторскими правами, в нём нарезается всё что нужно, и он перекидвается в default profile....но это как-то коряво всё, долго....Нет ли другого способа, может в реестре что-то подправить (например *.reg импортировать в реестр при настройке компьютера) или политики какие-нибудь...

Сразу скажу, что если пытаться менять переменные TMP и TEMP в HKEY_USERS, то нихрена не проходит.....

Dezz
19-01-2005, 14:02
Забыл....система W2k SP4

monkkey
19-01-2005, 15:09
Windows Registry Editor Version 5.00

[HKEY_USERS\.DEFAULT\Environment]
"TEMP"=hex(2):43,00,3a,00,5c,00,54,00,45,00,4d,00,50,00,00,00
"TMP"=hex(2):43,00,3a,00,5c,00,54,00,45,00,4d,00,50,00,00,00

т.е. параметр reg_expand_sz равен C:\TEMP, и всё работает.

Dezz
20-01-2005, 05:09
monkkey
Да как бы сделал....создаю нового пользователя, всё по старому...переменные кажут в C:\Documents and settings\...
Не получается...

Dennis
20-01-2005, 11:59
Можно поступить следующим образом:
gpedit.msc - локальная политика. Конф.польз./Конф.винд./Сценарии/Вход в систему - добавляем скрипт (vbs)

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Environment\TEMP", "C:\TEMP", "REG_SZ"
WshShell.RegWrite "HKCU\Environment\TMP", "C:\TEMP", "REG_SZ"
Set WshShell = Nothing

И все будет работать.

Dezz
20-01-2005, 12:01
monkkey, Dennis
Сенкс!

kovdaev
22-12-2005, 16:00
Копирую в текстовый файл выдает ошибку, какое расширение должно быть у файла.

Fighter
22-12-2005, 16:07
kovdaev
скрипт рабочий, расширение Dennis указал *.vbs

kovdaev
24-12-2005, 15:27
Извеняюсь за невнимательность

mb
24-12-2005, 18:37
Dezz
есть еще способ - создай пользователя - настрой всё, что хочешь, например вид папки, настройки программ (например для winrar - каскадировать контекстное меню и т.д.) ну и, конечно, определи путь к папке temp. После этого войди под другим пользователем, например админом, и скопируй штатными средствами windows XP профиль вновь созданного юзера (мой компьютер - дополнительно - профили пользователей/параметры созданный профиль) в : X:\Documents and Settings\Default User.
После этого, все новые пользователи на этой машине, будут получать твои настройки..

kovdaev
26-12-2005, 20:18
Подскажите еще одну вещь

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"ScheduledInstallTime"=dword:0000000d

как правильно написать на vbs
пробовал как написано выше, выдает ошибку

Dennis
26-12-2005, 21:45
kovdaev
HKEY_LOCAL_MACHINE\
Смотрите внимательно. В примере WshShell.RegWrite "HKCU\ Для вашего случая, либо должен быть доступ к данной ветке всем пользователям, либо этот скрипт должен отрабатывать в той части политики, которая относиться к компьютеру, т.е. ветка Конфигурация компьютера/...

kovdaev
27-12-2005, 21:03
Подскажи пожалуйста как тогда будет выглядеть блок reg файла:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000004
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:0000000d
"AutoInstallMinorUpdates"=dword:00000001
"NoAUShutdownOption"=dword:00000001
"NoAUAsDefaultShutdownOption"=dword:00000001
"UseWUServer"=dword:00000001
"RescheduleWaitTimeEnabled"=dword:00000001
"RescheduleWaitTime"=dword:00000001
"NoAutoRebootWithLoggedOnUsers"=dword:00000000
"DetectionFrequencyEnabled"=dword:00000001
"DetectionFrequency"=dword:00000016
"RebootWarningTimeoutEnabled"=dword:00000001
"RebootWarningTimeout"=dword:00000001
"RebootRelaunchTimeoutEnabled"=dword:00000001
"RebootRelaunchTimeout"=dword:0000003c

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update]
"NextDetectionTime"=-
"ScheduledInstallDate"=-
"DownloadExpirationTime"=-

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\General]

"UserTemplates"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,\
6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,53,00,68,00,61,00,62,00,6c,\
00,6f,00,6e,00,73,00,5c,00,00,00


Особенно выделенные части интересуют
Заранее спасибо.

Dennis
27-12-2005, 22:42
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/wsh/htm/wsMthRegWrite.asp
http://www.codenewsgroups.net/group/microsoft.public.vb.general.discussion/topic1197.aspx
А еще рассмотрите вариант с файлом-шаблоном политик (adm), потом будет легче настраивать, особенно если у вас домен.

kovdaev
28-12-2005, 19:58
Вообщето меня интересует как это выглядит на VBS.

Dennis
29-12-2005, 09:42
Set WshShell=WScript.CreateObject("WScript.Shell")
1а) WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\AU\RebootRelaunchTimeout",&H003c,"REG_DWORD"
1б) WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\AU\RebootRelaunchTimeout",60,"REG_DWORD" - или вы не можете перевести числа из 16-ричной системы в десятичную?!
2) WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\NextDetectionTime"
3) в whs нельзя сделать, читайте описание whs, я давал ссылку на MS. Для BINARY - только целые числа можно использовать. Обойти можно, ну например, запустив:
Return = WshShell.Run("regedit.exe /s my.reg", 1, true)
Set WshShell=Nothing

Еще вам ссылка: http://www.microsoft.com/technet/scriptcenter/default.mspx




© OSzone.net 2001-2012