Помогите разобраться(
кода вызываю на локальном коспе так: fnSetNewShare ".","C:\local foder","folder","des" всё фурыкает на локальном компе всё создаёт меняет назначает, но стоит ввести удалёную машину в домене : fnSetNewShare "asu35","C:\local foder","folder","des" // ничего непроисходит(((( где затуп ?
Код:
Function fnSetNewShare(sComp,sFN,sUsr,sDesc,sShareN)
Set Services = GetObject("winmgmts:{impersonationLevel=impersonate,(Security)}!\\"&sComp&"\root\cimv2")
Set SecDescClass = Services.Get("Win32_SecurityDescriptor")
Set SecDesc = SecDescClass.SpawnInstance_()
Set colWinAcc = Services.ExecQuery("SELECT * FROM Win32_ACCOUNT WHERE Name='" & sUsr & "'")
If colWinAcc.Count => 1 Then ' Wscript.echo("User " & sUsr & "Not Found - quitting") : wscript.quit
For Each refItem in colWinAcc : Set refSID = Services.Get("Win32_SID='" & refItem.SID & "'") : Next
Set refTrustee = Services.Get("Win32_Trustee").spawnInstance_()
refTrustee.Domain = refSID.ReferencedDomainName
refTrustee.Name = refSID.AccountName
refTrustee.SID = refSID.BinaryRepresentation
refTrustee.SidLength = refSID.SidLength
refTrustee.SIDString = refSID.SID
Set ACE = Services.Get("Win32_Ace").SpawnInstance_
ACE.Properties_.Item("AccessMask") = 1179817 '2032127
ACE.Properties_.Item("AceFlags") = 3
ACE.Properties_.Item("AceType") = 1 '0=allow access 1=deny access
ACE.Properties_.Item("Trustee") = refTrustee
SecDesc.Properties_.Item("DACL") = Array(ACE)
Set Share = Services.Get("Win32_Share")
Set InParam = Share.Methods_("Create").InParameters.SpawnInstance_()
InParam.Properties_.Item("Access") = SecDesc
InParam.Properties_.Item("Description") = sDesc
InParam.Properties_.Item("Name") = sShareN
InParam.Properties_.Item("Path") = "'" & sFN & "'"
InParam.Properties_.Item("Type") = 0
Set outParams=Share.ExecMethod_("Create", InParam)
End If
End Function