Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Автоматизация администрирования

Автор: SVOI_CHUVAC
Дата сообщения: 29.11.2006 12:23
а если офис уже установлен? Да и имена пользователей на exchange тоже ясен перец не одинаковы так что этот метод наврядли подходит
Автор: alexxxn
Дата сообщения: 29.11.2006 12:50
придется переставить. использовать %username%
Автор: WildCat
Дата сообщения: 29.11.2006 14:54
Необходимо для всех юзеров включить выполнение logoff скрипта. Домен под 2-й Самбой (NT 4), т.е. Active Directory нет и доменное Group Policy не катит, ручками у каждого юзера прописывать через gpedit.msc тоже как-то не хочется. Где и что прописать в registry? Компы в сети - 2000 и XP.
Автор: pazdak
Дата сообщения: 29.11.2006 15:38
Помогите решить элементарную проблему, на которую, я что-то не могу найти ответ...

Нужно в VBS скрипте получить путь откуда этот скрипт был запущен (желательно с возможностью получения UNC пути, если используется)
Автор: urel
Дата сообщения: 29.11.2006 16:24
SVOI_CHUVAC
есть док описывающий процесс создания и использования PRF(Outlook profile file) файла.
Деплоить у меня сначала была мысль через логон скрипт - при отсутствие профилей Outlook записывал в реестр FirstRun и ImportPRF. После чего при запуске Outlook создается профиль настроенный на Exchange Server.
Сейчас у меня есть доменный дефолтный профиль в котором прописаны эти параметры. Соответственно когда пользователи логинятся на другие компы они получают настроенный Outlook.

Добавлено:
WildCat
а параметр logon script в smb.conf?



Добавлено:
pazdak
WScript.Echo WScript.ScriptFullName
Автор: WildCat
Дата сообщения: 29.11.2006 16:53
urel
не logon, а logoff !
logon скрипты и так нормально выполняются.
Автор: urel
Дата сообщения: 29.11.2006 18:38
WildCat
сорри не внимательно прочитал
с помощью gpedit.msc добавь логофф скрипт и посмотри что станет тут:
HKCU\Software\Policies\Microsoft\Windows\System\Scripts\Logoff
попробуй ручками создать, расскажешь - если работает
Автор: jONES1979
Дата сообщения: 30.11.2006 07:54
pazdak

Код: WScript.Echo WScript.ScriptFullName
Автор: pazdak
Дата сообщения: 30.11.2006 08:58
urel
Спасибо за наводку.
Мозги вскипели, что думать вообще не мог.


Код: Function GetPath
Dim path
path = WScript.ScriptFullName ' Script filename
GetPath = Left(path, InStrRev(path, "\"))
End Function

Path = GetPath ' откуда запущен скрипт
WScript.Echo Path
Автор: urel
Дата сообщения: 30.11.2006 11:02
pazdak
Мне кажеться что правильнее было бы сделать это в стартапскрипте компа, что бы он пробежался по HK_USERS и проставил пермишены. чем в скриптах употреблять имя админа =)
Автор: pazdak
Дата сообщения: 30.11.2006 11:22
urel
Это то наверное верно, но только вот разрешения должны проставиться отдельным пользователям на компе (не всем), а как найти нужного пользователя до его логона мне не понятно?...

Цитата:
что бы он пробежался по HK_USERS и проставил пермишены. чем в скриптах употреблять имя админа

Можно расшифровать, если можно с примером, как можно пробежать по HK_Users ???
И определить для какого пользователя та или иная ветка?
Автор: Sk1f
Дата сообщения: 30.11.2006 11:22
Если будет ответ в виде скрипта, то буду очень благодарен. А вообще интересуют мысли и предложения какие функции и операции использовать.


Цитата:

Задача

У меня есть папка, в которой содержатся subfolders, в них в свою очередь еще subfolders.
Мне нужно всю эту структуру перенести с помощью скрипта в другую папку.

С помощью какого метода сделать обход по папкам? Рекурсия? Или с помощью "циклов в цикле"? Ваши предложения!


Автор: pazdak
Дата сообщения: 30.11.2006 11:43
Sk1f
Как вариант:

Код: dim filesys, folder
set filesys = createobject("scripting.fileSystemObject")
set folder = filesys.GetFolder("C:\My_Folder\")
folder.Move("D:\")
Автор: JcVai
Дата сообщения: 30.11.2006 12:10
Sk1f
robocopy.exe \\srvsource\dirsource\subdirsource \\srvdest\dirdest\subdirdest /SEC /MOVE /Z /E
Автор: urel
Дата сообщения: 30.11.2006 12:29
pazdak
не - фигню сказал, там только: all actively loaded user profiles. те при стартапе пусто...
продолжая идею хочу предложить воспользоваться утилитой regini. При стартапе пробегать по Documents and Settings выбирая нужные логины, и для них далшать следующее:


Цитата:
regini -h "C:\Documents and Settings\tmp\ntuser.dat" hkey_current_user "<somewhere>\reg.ini"

где reg.ini
Цитата:
hkey_current_user\software\Microsoft\Windows\CurrentVersion
    Policies [1 5 7 17]




Добавлено:
хттп://ens-lyon.fr/Bibli/TSE/Textes/regini.doc

Добавлено:
Sk1f

из Tech Center...
доработать напильником:
Цитата:
Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("C:\Scripts")

Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Wscript.Echo Subfolder.Path
ShowSubFolders Subfolder
Next
End Sub
Автор: xameleon1
Дата сообщения: 30.11.2006 18:11
Помогите тразобраться.
Есть файлы типа mm55555_cc_55555.zip как копировать имя файла *.zip - в .Subject письма ?
причем имя *.zip может быть разное.

Set objFSO = CreateObject("Scripting.FileSystemObject")
sFileName="d:\readme.txt"

Set File1 = objFSO.OpenTextFile(sFileName, 1)
str = File1.ReadAll
File1.Close

sHema="http://schemas.microsoft.com/cdo/configuration/"
Set msg = CreateObject("CDO.Message")
with msg
.From = "master@klv.akbk.ru"
.To = "abs_upd@krd.akbk.ru"
.Subject = str2
.Textbody = str
.Configuration.Fields.Item(sHema&"sendusing") = 2
.Configuration.Fields.Item(sHema&"smtpserver") = "mail.klv.akbk.ru"
.Configuration.Fields.Item(sHema&"smtpserverport") = "25"
.Configuration.Fields.Update
end with
msg.Send
Set msg = Nothing

Автор: urel
Дата сообщения: 03.12.2006 21:38
xameleon1
Перебрать все файлы в директории?
Автор: Romero_Ekb
Дата сообщения: 04.12.2006 07:13
Нужно узнать SID юзера, в чьем сеансе запускаю батник. Проблема в том, что батник запускается от имени SYSTEM. SID нужен, чтобы добраться до пользовательской ветки реестра. Подскажите способы решения, пожалуйста.
Или киньте ссылку на пост, если уже обсуждалось подобное.
Автор: xameleon1
Дата сообщения: 04.12.2006 07:30

Цитата:
Перебрать все файлы в директории?


Да !
Нужен любой работающий вариант.
Автор: inetimon
Дата сообщения: 04.12.2006 08:57
Помогите кто может.
Имеется скрипт по удалению пустых папок, как реализовать возможность исключать некоторые пустые папки из списка удаляемых ?

Код: set _tmp1_=_list_1.tmp
set _tmp2_=_list_2.tmp
dir "c:\1" /b/s /ad /on > %_tmp1_%
sort /r < %_tmp1_% > %_tmp2_%
for /f "delims=/" %%d in (%_tmp2_%) do rmdir "%%d" 2> nul
del /q %_tmp1_%
del /q %_tmp2_%
Автор: urel
Дата сообщения: 04.12.2006 14:13
Romero_Ekb
если он запускается в контексте пользователя а дельше выполняется с привелегиями системы, то в момент запуска и передать имя/сид

xameleon1
1й любой работающый вариант:
Цитата:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\")
Set colFiles = objFolder.Files

For Each File in colFiles
Wscript.Echo File.Name
Next


Добавлено:
inetimon
а если на VBS?
Автор: inetimon
Дата сообщения: 04.12.2006 14:32
Я в VBS как собака, когда смотрю все понимаю а сам написать нечего не могу. Сойдет любой вариант
Автор: urel
Дата сообщения: 04.12.2006 15:59
inetimon
со списком директорий которые не стоит удалятьнужно смотреть - или тубо забить в масив в коде или отдельный список создать и читать его

Код: Set FSO = CreateObject("Scripting.FileSystemObject")
temp = RmEmptySubFolders (FSO.GetFolder("C:\1"))
WScript.Quit
Function RmEmptySubFolders(Folder)
HasSubFoldersFiles=False
For Each Subfolder in Folder.SubFolders
HasSubFolderFiles = RmEmptySubFolders(Subfolder)
If HasSubFolderFiles Then HasSubFoldersFiles=True

If Not HasSubFolderFiles Then
'WScript.Echo Subfolder.Path, " - delete - ", Subfolder.size
' Тут нужно делать проверку на то нужна ли эта пака
' также если она необходима нужно устанавливать HasSubFoldersFiles
' в true, иначе папка может быть удалена если для папки на уровень
' выше не окажеться файлов в подпапках
Subfolder.Delete
End If
Next
If Not HasSubFoldersFiles Then HasFolderFiles = Folder.Files.Count > 0 ' xnj,s
RmEmptySubFolders = HasSubFoldersFiles Or HasFolderFiles
End Function
Автор: xameleon1
Дата сообщения: 04.12.2006 16:48
Вопрос:
как имя файла *.zip засунуть в тему (.Subject) письма ?
файл *.zip находится в одной директории (d:\1\) с этим скриптом.

Set objFSO = CreateObject("Scripting.FileSystemObject")
sFileName="d:\1\readme.txt"

Set File1 = objFSO.OpenTextFile(sFileName, 1)
str = File1.ReadAll
File1.Close

sHema="http://schemas.microsoft.com/cdo/configuration/"
Set msg = CreateObject("CDO.Message")
with msg
.From = "vasya@mail.klv.akbk.ru"
.To = "fedya@mail.ru"
.Subject = "Изменение"
.Textbody = str

.Configuration.Fields.Item(sHema&"sendusing") = 2
.Configuration.Fields.Item(sHema&"smtpserver") = "mail.klv.akbk.ru"
.Configuration.Fields.Item(sHema&"smtpserverport") = "25"
.Configuration.Fields.Update
end with
msg.Send
Set msg = Nothing
Автор: urel
Дата сообщения: 04.12.2006 16:57
xameleon1
собери в строчку
Цитата:
File.Name
и вставляй в сабж

Автор: Romero_Ekb
Дата сообщения: 04.12.2006 17:07
urel
Нет, он запускается службой, которая запущена от имени системы. Если б все было так просто, я б не спрашивал.
Автор: xameleon1
Дата сообщения: 04.12.2006 17:15

Цитата:
xameleon1
собери в строчку
Цитата:File.Name
и вставляй в сабж


Напиши плиз как это сделать - для тупого.
Автор: urel
Дата сообщения: 04.12.2006 18:17
Romero_Ekb
ну вот а говорил
Цитата:
Нужно узнать SID юзера, в чьем сеансе запускаю батник

перебор сесий, и вытягивание логина сида из интерактивных:
Код: Set objWMIService=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set LoggedOn =objWMIService.ExecQuery ("Select * from Win32_LoggedOnUser")

For Each Session In LoggedOn
Set LogonSession = GetObject("winmgmts:{impersonationLevel=impersonate}!"& Session.dependent)
If CDbl(LogonSession.properties_.item("LogonType")) = 2 Then
' сесия интерактивная
Set Account = GetObject("winmgmts:{impersonationLevel=impersonate}!"& Session.antecedent)
sid= Account.properties_.item("SID")
userLogin= Account.properties_.item("Caption")
WScript.Echo userLogin & " -> " & sid
End If


Next
Автор: Romero_Ekb
Дата сообщения: 05.12.2006 05:27
urel
Огромное спасибо!
Автор: alfira
Дата сообщения: 05.12.2006 15:25
Задача: Нужно написать log off скрипт который бы копировал, а еще лучше архивировал информацию из папки мои документы пользователей на сервер без лишних файлов типа фильмы фото музыка и тд и тп, есть такой простой вариант использования bat файла

rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%

только вот не знаю как сюда в качестве источника архивации прописать папку мои документы так что бы скрипт правильно определял ее местонахождение на каждом компьютере, %user profile% не прокатывает так как пользователи могут самостоятельно в свойствах папки Мои документы изменить ее месторасположениевне профиля, если с помощью cmd не решить эту задачу может кто-нибуть другой вариант решения этой задачи подскажет?


Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Зеркалирование дисков Win2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.