Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Скрипт для открывания общего доступа / 7 сообщений из 7, страница 1 из 1
17.10.2007, 10:38:55
    #34873873
Сисадмин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
Добрый день или ночь, или вечер.

Есть задача расшарить флэшку только для определенных пользователей.

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

Возникла идей написать скрипт, разрешающий общий доступ и раздающий разрешения для нужных пользователей.

В инете поискал, но пока ничего не нашел.
...
Рейтинг: 0 / 0
17.10.2007, 11:29:56
    #34874153
Crazy_Driver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
net share /? ;)
...
Рейтинг: 0 / 0
17.10.2007, 12:23:50
    #34874452
weber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
Думаю для начала надо бы расставить буквы дискам и флешке а потом шарить.
@ echo off
Diskpart /s DriverLetter.txt > result.txt

Ну а сам файлик txt напишем вот такой

select Disk=o
Select Partition=2
Assign Letter=X ****здесь вместо вставте букву диска

Или так вот
Diskpart /s ИмяСкрипта

Сам скрипт вот такой

Select Disk=0
Select Partition=2
Assign Mount=C:\Backup

Или же составим VBScript
Option Explicit
Dim oWMI
Dim colDrive
Dim objItem
Dim strComputer

strComputer = "."
Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDrive = oWMI.ExecQuery ("Select * from Win32_Volume
Where Name = 'F:\\'")
For Each objItem in colDrive
Err = objItem.DriveLetter = "X:"
ObjItem.Put
Next
Set oWMI = Nothing


Добавить путь к папке для дискового оддела можно с помощью метода AddMountPoint класса WMI
с названием Win32_Volume Eжели надо например второй дисковый оддел подрубить к папке C:\Backup первого диска используем ExecQuerry используя Where а потом используя метод AddMountPoint а как параметр добавим путь к папке куда будем подрубать диковый оддел.
Здесь VBS


Option Explicit

Dim oWMI
Dim colDrive
Dim objItem
Dim strComputer

strComputer = "."
Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDrive = oWMI.ExecQuery ("Select * From Win32_Volume Where Name = 'F:\\'")

For Each objItem in colDrive
objItem.AddMountPoint("C:\\Backup\\")
Next

Set oWMI = Nothing


Ну а раз пути прописаны и буквы расставлены можно расшарить папку. И добавить права на неё юзеру
с коммандной строки вот так
@Echo off
Cacls C:\LogFiles /G FRA-MD-FPS-001\TestUser1:F


скриптик наставления прав файла вот
Option Explicit

Dim oWMI
Dim oFSS
Dim oUser
Dim oSID
Dim oTrusteeClass
Dim oTrustee
Dim oACEClass
Dim oACE
Dim oDictionary
Dim oSD
Dim colUser
Dim strComputer
Dim strName
Dim strFile
Dim intVal
Dim intCounter
Dim objItem

strcomputer = "."
strFile = "C:\\LogFiles\\Protokol.txt"
strName = "TestUser1"

Const ACCESS_ALLOWED_ACE_TYPE = &h0
Const ACCESS_DENIED_ACE_TYPE = &h1
Const FILE_READ_DATA = &h000001
Const FILE_WRITE_DATA = &h000002
Const FILE_APPEND_DATA = &h000004
Const FILE_READ_EA = &h000008
Const FILE_WRITE_EA = &h000010
Const FILE_EXECUTE = &h000020
Const FILE_READ_ATTRIBUTES = &h000080
Const FILE_WRITE_ATTRIBUTES = &h000100
Const FILE_DELETE = &h010000
Const FILE_READ_CONTROL = &h020000
Const FILE_WRITE_DAC = &h040000
Const FILE_WRITE_OWNER = &h080000
Const OBJECT_INHERIT_ACE = &h1
Const CONTAINER_INHERIT_ACE = &h2
Const NO_PROPAGATE_INHERIT_ACE = &h4
Const INHERIT_ONLY_ACE = &h8

Set oWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set oFSS = GetObject("winmgmts:{(Security,Restore)}\\" & strComputer & "\root\cimv2:Win32_LogicalFileSecuritySetting='" & strFile & "'")
intVal = oFSS.GetSecurityDescriptor(oSD)
Set colUser = oWMI.ExecQuery("SELECT * FROM WIN32_ACCOUNT WHERE Name='" & strName & "'")
For Each objItem in ColUser
Set oUser=objItem
Next

Set oSID = oWMI.Get("Win32_SID.SID='" & oUser.SID & "'")
Set oTrusteeClass = oWMI.Get("Win32_Trustee")
Set oTrustee = oTrusteeClass.SpawnInstance_()
oTrustee.Domain = oSID.ReferencedDomainName
oTrustee.Name = oSID.AccountName
oTrustee.SID = oSID.BinaryRepresentation
oTrustee.SidLength = oSID.SidLength
oTrustee.SIDString = oSID.SID

Set oACEClass = oWMI.Get("Win32_ACE")
Set oACE = oACEClass.SpawnInstance_()

oACE.AccessMask = FILE_READ_DATA
oACE.Trustee = oTrustee
oACE.AceType = ACCESS_ALLOWED_ACE_TYPE
oACE.AceFlags = OBJECT_INHERIT_ACE

Set oDictionary = CreateObject("Scripting.Dictionary")
For intCounter = LBound(oSD.DACL) to UBound(oSD.DACL)
If NOT oSD.DACL(intcounter).AceFlags AND 16 Then
oDictionary.Add intcounter, oSD.DACL(intcounter)
End If
Next
oDictionary.Add "User", oACE
oSD.DACL = oDictionary.Items
intVal = oFSS.SetSecurityDescriptor(oSD)

Set oWMI = Nothing
Set oFSS = Nothing
Set oUser = Nothing
Set oSID = Nothing
Set oTrusteeClass = Nothing
Set oTrustee = Nothing
Set oACEClass = Nothing
Set oACE = Nothing
Set oDictionary = Nothing
Set oSD = Nothing

Думаю сгодится, раз ничо не нашли.
...
Рейтинг: 0 / 0
17.10.2007, 13:16:13
    #34874755
Crazy_Driver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
Использовать WMI - это конечно круто, но гораздо проще и быстрее изучить синтаксис комадны net share и на флешке создать файл autorun.inf, в котором вызывать указанную команду с необходимыми параметрами.
...
Рейтинг: 0 / 0
17.10.2007, 13:55:08
    #34874951
Сисадмин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
weberДумаю сгодится, раз ничо не нашли. Букаф много, но попробую переварить, спасибо :)
...
Рейтинг: 0 / 0
17.10.2007, 14:13:00
    #34875036
Biz©
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
Crazy_DriverИспользовать WMI - это конечно круто, но гораздо проще и быстрее изучить синтаксис комадны net share и на флешке создать файл autorun.inf, в котором вызывать указанную команду с необходимыми параметрами.
ой ... плиззз ... покажите мне как в net share установить права на шару отдельным узерам ...
...
Рейтинг: 0 / 0
17.10.2007, 14:29:42
    #34875118
Ммихалыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для открывания общего доступа
Net share /? Так ?
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Скрипт для открывания общего доступа / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]