Я относительно новичок во всем этом классическом программировании на ASP, и я не работаю над довольно сложным сценарием.По сути, сценарий создает учетную запись пользователя домена, а затем создает их домашнюю папку на сетевом компьютере.IE: \ SERVER \ DIR \ HOMEDIR.
У меня код работает превосходно, кроме случаев, когда речь идет о создании их домашнего каталога.Он создает папку, но получает ошибку доступа и отказывает в доступе к изменениям разрешений.У меня даже есть другой код, который будет перемещать папку и ее содержимое из одного каталога в другой.Я сделал все, что мог придумать, учетная запись IUSR_MACHINE даже является администратором домена.
Код ниже.У кого-нибудь есть предложения?Любая помощь будет принята с благодарностью!
strHomeFolder имеет форму: \ SERVER \ DIR \ DIR с двумя обратными слешами в начале.Я также пробовал это на локальном сервере с локальным путем (C: \ DIR \ DIR), но он также не работал, тот же доступ запрещен.*
Sub HomeDir()
%>
<br/>
Inside of Homedir()<br/>
<%
strHomeFolder = strHome & strUser
Set objFSO = server.CreateObject("Scripting.FileSystemObject")
Set objShell = server.CreateObject("Wscript.Shell")
If strHomeFolder <> "" Then
If Not objFSO.FolderExists(strHomeFolder) Then
On Error Resume Next
objFSO.CreateFolder strHomeFolder
If Err.Number <> 0 Then
'On Error GoTo 0
'Wscript.Echo "Cannot create: " & strHomeFolder
End If
'On Error GoTo 0
End If
On Error Resume Next
If objFSO.FolderExists(strHomeFolder) Then
%>
<br/>
folder exists<br/>
strHomeFolder = <%=strHomeFolder%><br/>
strUser = <%=strUser%><br/>
<%
'Assign user permission to home folder.
cmdtxt = "%COMSPEC% /c Echo Y| cacls " & strHomeFolder & " /t /c /g Administrators:F " & "SYSTEM:F engineering2\" & strUser & ":F"
intRunError = 25
intRunError = objShell.run(cmdtxt, 2, True)
%>
<br/>
intRunError = <%=intRunError%><br/>
<%
If intRunError <> 0 Then
%>
<br/>
Calcs is balking.......intRunError = <%=intRunError%><br/>
<%
'Wscript.Echo "Error assigning permissions for user " _
'& strUser & " to home folder " & strHomeFolder
End If
End If
End If
Set objFSO = Nothing
Set objShell = Nothing
End Sub