Тема: VBS: Создать и расшарить папку на удалённом сервере
Как проще всего создать и расшарить папку на удалённом сервере ?
Я написал вот такой скрипт, на мне не совсем нравится в нём процедура расшаривания папки (нужно чтобы everyone быть full access )
Подскажите, всё ли правильно я делаю ?
'====Настройки скрипта========
strServerName = "server01"
strFolderPath = "\\server01\D$\Share"
srtRemoteFolderPath = "D:\Share\"
'=============================
strFolderName = Trim(InputBox("Введите название папки", "Создание новой папки на сервере"))
' Создаём папку на сервере
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
strFullFolderPath = objFSO.BuildPath(strFolderPath, strFolderName)
If objFSO.FolderExists(strFullFolderPath) Then
WScript.Echo "Папка: '"& strFolderName &"' уже существует." & vbNewLine & _
"Скрипт завершает свою работу."
Wscript.Quit 0
Else
objFSO.CreateFolder strFullFolderPath
End If
'Расшариваем папку в правами Everyone = Full Access
Const FULL_ACCESS = 2032127
Const ACCESS_ALLOWED = 0
Set objWMI = GetObject("winmgmts:\\" & strServerName & "\root\cimv2")
Set objTrustee = objWMI.Get("Win32_Trustee").SpawnInstance_
objTrustee.Properties_.Item("SID") = Array(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Set objACE = objWMI.Get("Win32_Ace").SpawnInstance_
objACE.AccessMask = FULL_ACCESS
objACE.AceFlags = 3
objACE.AceType = ACCESS_ALLOWED
objACE.Trustee = objTrustee
Set objSD = objWMI.Get("Win32_SecurityDescriptor").SpawnInstance_()
objSD.DACL = Array(objACE)
Set objShare = objWMI.Get("Win32_Share")
intResult = objShare.Create(srtRemoteFolderPath & strFolderName, strFolderName, 0, Null, Null, Null, objSD)
WScript.Echo "Папка: '"& strFolderName &"' успешно создана и расшарена"
Wscript.Quit 0