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

» Автоматизация администрирования. Часть 2

Автор: Ilya48
Дата сообщения: 24.04.2010 09:54
YNY

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

Ты сам это пытался делать? Ежели не лень, попробуй всё это провернуть на папке, на которую у тебя вообще нет прав. Что бы ты с ней не пытался сделать, первым делом придётся сбросить владельца. В том числе - чтобы "вкл наследование". Но мне это не подходит, в правах на шару по любому есть "Все", иначе новые папки не создаются. Нельзя наследование включать, ученички шаловливыми ручками полезут копаться в чужих профилях. Каким макаром я наследованием добьюсь того, чтобы в правах остались три записи: юзер, SYSTEM и admin? Это раз.
Два - при смене владельца все старые права слетают. Если тебе удалось этого избежать, напиши пожалуйста, как.

Refugee

Цитата:
скрипт с setacl psexec'ом от system

Этого я и пытаюсь избежать - сложный скрипт получается. Буду ваять, но пока всё же разобраться бы, почему тот не срабатывает.
Автор: YNY
Дата сообщения: 25.04.2010 14:05
Ilya48 первым делом придётся сбросить владельца lya48

100 делал и ничего не слетает, порядок действий я написал выше (хоть в 2003 хоть в ХР)!

Автор: Ilya48
Дата сообщения: 26.04.2010 16:00
Разобрался. Надо было всего лишь добавить юзерам право через ntrights с контроллера домена:

Код: ntrights -u AddRights +r SeSecurityPrivilege
Автор: vol2hv
Дата сообщения: 28.04.2010 14:49
Здравствуйте!
Подскажите как лучше реализовать выполнение задания на всех компьютерах домена со следующими требованиями:
1. Задание должно выполниться на _ВСЕХ_ компьютерах только _ОДИН_ раз
2. Задание должно иметь админ права на удаленном компе и права на чтение запись расшаренного ресурса
3. После выполнения на всех компах задание должно удалиться

С уважение Владимир
Автор: YNY
Дата сообщения: 28.04.2010 16:38
vol2hv ищи и обрящешь все это уже упоминалось тут в той или иной степени!!!
Автор: student24
Дата сообщения: 29.04.2010 12:03
Привет всем! Кто-нибудь знает где найти декомпилятор VBS2EXE? Очень нужен!!! Спасибо.
Автор: vlary
Дата сообщения: 29.04.2010 12:49
student24Ты хотя бы название раздела посмотрел? Тебе в Варезник, если программа платная, или в Программы, или в Прикладное программирование, но уж никак не сюда
Автор: anton04
Дата сообщения: 29.04.2010 16:55
Форумчане помогите решить задачу:

необходимо в при запуске ПК (до логина пользователя, т.е. когда обрабатывается GPO ПК) выполнение несложного vbs скрипта который делает следующее:

1. мапит диск \\server\script
2. выполняет определённую команду или запускает файл (exe)
3. отключает диск
единственное что ещё хотелось бы предусмотреть это возможность недоступности сервера по пути и в этом случае просто завершения работы скрипта без создания лог файла с ошибкой.

Я даже более чем уверен что что-то подобное уже реализовывалось, поделитесь кодом.

P.S. Само собой что данный скрипт выполняется в сети домена.
Автор: YNY
Дата сообщения: 30.04.2010 08:17
anton04 блин модератора на тя нет, смотри посты ранее и включай свой скрипт через гпо он и будет с ими выполняться!
Автор: anton04
Дата сообщения: 30.04.2010 10:10
YNY

Если не хотите помочь нечего сотрясать воздух.
Версией "Для печати" пользоваться умею. Ничего похожего не нашёл, вот по этому и спрашиваю (что-то по отдельности есть, но решение задачи в целом никто тут не отписывал). В интернете искал, но опять же есть примеры только части моей задачи, но никак целиком...
Как юзать GPO меня учить не надо (сам кого хошь научу), я просил помощи в написании такого скрипта или поделится готовой заготовкой (у кого есть).

Если данная задача уже решена просто укажите где.

P.S. Уж извините не скриптолог я.
Автор: student24
Дата сообщения: 30.04.2010 14:40
vlary
В этой же теме в шапке в "тулзах" указан данный программный продукт


Цитата:
VBS2EXE - утилита для компиляции vbs и js скриптов в exe выдранная из пакета PrimalScript


вот я и подумал, может кто знает. К тому-же на "http://smitis.narod.ru/vbs2exe/" написано:
Цитата:
Если что, пишите сдесь
Автор: YNY
Дата сообщения: 01.05.2010 12:40
student24 послушай все декомпиляторы переводят в асемблерный код так что ........., внутри VBS2EXE есть упоминание MFC так что, наверное любой для С++ декомпилятор тебе подойдет.


Добавлено:
anton04 тут ранее есть все что тебе нада, да по отдельности но что тебе мешает склеить все воедино?
И еще: а зачем тебе мапить сетевой ресурс? мона сразу пробовать запустить из сети кой нить файл, а еслив не удалось то мона и проигнорировать ошибку. Либо если те нада сначало расшарить папку, затем запустить файл с нее а потом закрыть шару , то это уже др песня..........
Автор: anton04
Дата сообщения: 01.05.2010 13:26
YNY


Цитата:
тут ранее есть все что тебе нада, да по отдельности но что тебе мешает склеить все воедино?


Отсутствие знания vbs Я этим не горжусь это просто факт.


Цитата:
И еще: а зачем тебе мапить сетевой ресурс? мона сразу пробовать запустить из сети кой нить файл, а еслив не удалось то мона и проигнорировать ошибку.


Просто так получится универсальнее и скрипт получится меньше.


Цитата:
Либо если те нада сначало расшарить папку, затем запустить файл с нее а потом закрыть шару , то это уже др песня..........


Нет такого мне не надо. Предполагается что шара уже есть.
Автор: YNY
Дата сообщения: 02.05.2010 10:33
anton04 а зачем в последнем пункте отключать диск если все равно мона на шару попасть?
Автор: anton04
Дата сообщения: 02.05.2010 22:58
YNY


Цитата:
а зачем в последнем пункте отключать диск если все равно мона на шару попасть?


Шоб юзера не смущать появившимся сетевым диском.

P.S. Я конечно понимаю, что Вам любопытно всё это, что зачем и почему, но у меня цель одна это наличие такое скрипта. Так Вы поможете или мне в другом месте искать?
Автор: student24
Дата сообщения: 04.05.2010 09:09
YNY
Это конечно так, но для меня ассемблер это такой темный лес....
Помимо VBS2EXE я еще пользуюсь программкой ExeScript. Для неё я, с трудом, но нашел всё таки декомпилятор - ExeScript Decompiler .2, который мне выдаёт исходный (js, vbs) код. Очень хотелось бы что-то натодобие для VBS2EXE. На запрос "VBS2EXE decompiler" google выдаёт кучу ссылок, но все попытки скачать - безрезультатны!!! Если у когото получится - пришлите мне! Буду очень признателен!!!
Автор: Gremlin19
Дата сообщения: 04.05.2010 09:31

Цитата:
Форумчане помогите решить задачу:

необходимо в при запуске ПК (до логина пользователя, т.е. когда обрабатывается GPO ПК) выполнение несложного vbs скрипта который делает следующее:

1. мапит диск \\server\script
2. выполняет определённую команду или запускает файл (exe)
3. отключает диск
единственное что ещё хотелось бы предусмотреть это возможность недоступности сервера по пути и в этом случае просто завершения работы скрипта без создания лог файла с ошибкой.

Я даже более чем уверен что что-то подобное уже реализовывалось, поделитесь кодом.

P.S. Само собой что данный скрипт выполняется в сети домена.



Код: @echo off
NET USE x: /DELETE /YES
net use x: \\domain\sysvol /yes
copy /y x:\file %systemroot%\system32\
if not exist %systemroot%\system32\file copy /y x:\file %systemroot%\system32\
NET USE x: /DELETE /YES
Автор: anton04
Дата сообщения: 04.05.2010 10:31
Gremlin19

Спасибо конечно, но нужен именно vbs.

P.S. Уж с командной строкой я как нибудь справился бы.
Автор: attaattaatta
Дата сообщения: 04.05.2010 11:04
anton04

Примерно так


Цитата:
Option Explicit
Dim objNetwork
Dim filesys
Dim strDriveLetter, strRemotePath
strDriveLetter = "X:"
strRemotePath = "\\server\script"
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.DriveExists(X:) Then
    Dim WSHShell
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    ' open maximized and wait
    WSHShell.Run "X:\\notepad.exe", 3, true
    ' open minimized and wait
    WSHShell.Run "X:\\notepad.exe", 2, true
    ' open normal and don't wait
    WSHShell.Run "X:\\notepad.exe", 1, false
    objNetwork.RemoveNetworkDrive strDriveLetter
Else
Dim objFileSystem, objOutputFile
Dim strOutputFile
Const OPEN_FILE_FOR_APPENDING = 8
strOutputFile = "./writefile.out"
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objOutputFile = objFileSystem.OpenTextFile(strOutputFile, _OPEN_FILE_FOR_APPENDING)
objOutputFile.WriteLine("Hello world (" & Now & ")")
objOutputFile.Close
Set objFileSystem = Nothing
    End If
WScript.Quit
Автор: anton04
Дата сообщения: 04.05.2010 14:42
attaattaatta

Спасибо щас заценю!

P.S. А зачем три раза WSHShell.Run "X:\\notepad.exe" ? Я так понял что перебирается три значения окна maximized, minimized и normal? А не будет запускать этот файл три раза подряд!?
P.P.S. А зачем strOutputFile = "./writefile.out" ? Это случаем не ошибки ли туда записываются?
Автор: attaattaatta
Дата сообщения: 05.05.2010 11:22
anton04

да, разные варианты запуска, на выбор, вместо ./writefile.out можно и unc путь вхерачить для ошибки монтирования.
Автор: Gremlin19
Дата сообщения: 05.05.2010 15:44
anton04
не критикую, просто интересуюсь
Расскажи причины нужды именно в VBS, может Я что недопонимаю
Автор: anton04
Дата сообщения: 05.05.2010 15:53
Gremlin19


Цитата:
Расскажи причины нужды именно в VBS


Учитывая, что в 2008 и выше (2008R2) cmd ведёт себя немного по другому вот по этому и нужен vbs.

attaattaatta

Предложили мне ещё один вариант скрипта:

[more]
DiskLetter = "S:" ' Буква сетевого диска
NetPath = "\\Server\Resurs" ' Путь к расшаренной папке
Program = "C:\WINDOWS\system32\notepad.exe" ' Программа для запуска после подключения сетевого диска

Set WShell = CreateObject("Wscript.Shell")
Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork

Mess_Off = NetDiskUnMap(DiskLetter)
Mess_On = NetDiskMap(DiskLetter, NetPath)
If Mess_On = "yes" Then
Sending = WShell.Run(Program, 1, True)
Mess_Off = NetDiskUnMap(DiskLetter)
End If

' Подключение сетевого диска
Function NetDiskMap(Drive, NetPath)
' Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork
On Error Resume Next
WshNetwork.MapNetworkDrive Drive, NetPath
If Err.Number <> 0 Then
Mess = "Ошибка при подключении диска " + Drive + vbCrLf + "Код ошибки: " + CStr(Err.Number) + vbCrLf + "Описание: " + Err.Description
MsgBox Mess, 16, "Подключение сетевого диска"
Else
Mess = "yes"
End If
On Error GoTo 0
NetDiskMap = Mess
' MsgBox Mess, 16, "Подключение сетевого диска"

End Function


' Отключение сетевого диска
Function NetDiskUnMap(Drive)
' Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork
On Error Resume Next
WshNetwork.RemoveNetworkDrive Drive
If Err.Number <> 0 Then
Mess = "Ошибка при отключении диска " + Drive + vbCrLf + "Код ошибки: " + CStr(Err.Number) + vbCrLf + "Описание: " + Err.Description
Else
Mess = "yes"
End If
On Error GoTo 0
NetDiskUnMap = Mess
' MsgBox Mess, 64, "Отключение сетевого диска"
End Function[/more]

Не подскажите как он сам по себе?
Автор: YNY
Дата сообщения: 06.05.2010 11:15
anton04
Цитата:
Учитывая, что в 2008 и выше
интересно че уже 2009 есть????????)))))



Добавлено:
просто микрософт хотит всех на повершелл загнать насильно вот и чудит
Автор: se111
Дата сообщения: 07.05.2010 06:03
есть задача, никак не получается сделать.
Нужно вытащить всех юзеров из AD которые не входят в определенную группу,
кто нибудь делал такое?
Автор: YNY
Дата сообщения: 08.05.2010 06:10
se111
Цитата:
не получается вытащить всех юзеров из AD которые не входят в определенную группу

приведи свой вариант для попытки может его будет проще поправить чем шерстить форум, хотя при работе с АД есть в запросе параметры указывающие конкретные OU и если попробовать поставить "<>" или NOT перед именеи OU то мож сразу получится)!
Автор: fedmun
Дата сообщения: 18.05.2010 16:08
Подскажите, в AD есть группа пользователей.
Назрела необходимость почистить домен.
Можно ли узнать (скриптом, например), на какие групповые политики завязаны группы пользователей?
Автор: YNY
Дата сообщения: 19.05.2010 06:59

Цитата:
fedmun

какая разница на какие политики если тебе их: как я понял - юзеров, удалять???
Автор: vlary
Дата сообщения: 19.05.2010 10:43
fedmun Нэт юзера - нэт политики ©И.В. Сталин
Автор: arr1val
Дата сообщения: 19.05.2010 15:57
Из примеров и кусков собрал себе скриптик требуемый для работы. Подскажите, как дописать условие "если пользователь Root уже есть - ничего не делать" ?


Код: strUserName = "Admin"
strNewUserName = "Root"
strPassword = "password"
strComputer = "."
Set objUser = GetObject("WinNT://" & strComputer & "/" & strUserName & ", user")
Set objComputer = GetObject("WinNT://" & strComputer)
objComputer.MoveHere objUser.AdsPath, strNewUserName
Set objComputer = Nothing
Set objUser = Nothing
Set objUser = GetObject("WinNT://" & strComputer & "/" & strNewUserName & ", user")
objUser.SetPassword strPassword
objUser.SetInfo
Set objUser = Nothing


Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin")
objUser.SetPassword "password"
objUser.SetInfo
Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")
Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
objGroup.Add(objUser.ADsPath)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


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