powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Скрипт для открывания общего доступа
7 сообщений из 7, страница 1 из 1
Скрипт для открывания общего доступа
    #34873873
Сисадмин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день или ночь, или вечер.

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

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

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

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


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