Asp classic ASP classic创建一个文件夹,然后更改其权限

Asp classic ASP classic创建一个文件夹,然后更改其权限,asp-classic,iis-6,Asp Classic,Iis 6,我对整个ASP经典编程都比较陌生,而且我并不是在编写一个非常复杂的脚本。基本上,该脚本创建一个域用户帐户,然后在联网机器上创建其主文件夹。即:\SERVER\DIR\HOMEDIR 我的代码工作得非常好,除了制作他们的主目录。它创建文件夹,但在权限更改时出现拒绝访问错误。我甚至还有另一个代码,可以将文件夹及其内容从一个目录移动到另一个目录。我已经做了我能想到的一切,IUSR_机器帐户甚至是一个域管理员 代码如下。有人有什么建议吗?任何帮助都将不胜感激 strHomeFolder的格式为:\SER

我对整个ASP经典编程都比较陌生,而且我并不是在编写一个非常复杂的脚本。基本上,该脚本创建一个域用户帐户,然后在联网机器上创建其主文件夹。即:\SERVER\DIR\HOMEDIR

我的代码工作得非常好,除了制作他们的主目录。它创建文件夹,但在权限更改时出现拒绝访问错误。我甚至还有另一个代码,可以将文件夹及其内容从一个目录移动到另一个目录。我已经做了我能想到的一切,IUSR_机器帐户甚至是一个域管理员

代码如下。有人有什么建议吗?任何帮助都将不胜感激

strHomeFolder的格式为:\SERVER\DIR\DIR,开头有两个反斜杠。我也曾在本地服务器上使用本地路径(C:\DIR\DIR)尝试过这种方法,但也不起作用,相同的访问被拒绝

谢谢,

利维

Sub HomeDir()
%>

Homedir()的内部
intRunError=

Calcs正在犹豫…….intRunError=

您是否已授予DIR文件夹读/写权限?这需要在本地和服务器上完成。你查过许可证了吗


Caio

错误信息到底是什么?如果您尝试在命令行上而不是从VBScript运行完全相同的cacls命令,会发生什么?Hello Dan,最初,intrunerror=0表示成功,但没有成功。然后我隔离了calcs部分,这样我就可以从终端获得标准输出,它会说:你确定(Y/N)吗?访问被拒绝:\\SERVER\DIR\DIR。如果是本地的也一样。我甚至试着模仿另一个用户per,但这不起作用。当我在命令行中运行相同的代码时,它执行得很好。我现在将在asp之外的VBScript中尝试。谢谢,Levi在使用一个工具时遇到了同样的问题,该工具创建了权限组并为此组设置了文件夹权限。在我的例子中,新组在执行(x)cacls时还不可见,因此我必须构建等待/睡眠来让它工作。另一方面:您是否考虑使用PultS壳代替CACL来执行此任务?
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