ASP经典创建一个文件夹,然后更改它

ASP经典创建一个文件夹,然后更改它

问题描述:

我是比较新的这整个ASP编程的经典的东西权限,我不工作在一个非常复杂的脚本。本质上,该脚本创建一个域用户帐户,然后在联网的计算机上创建其主文件夹。 I.E:\ SERVER \ DIR \ HOMEDIR。ASP经典创建一个文件夹,然后更改它

我的代码工作奇妙,当谈到做自己的主目录除外。它创建文件夹,但它涉及到权限更改时会获取并拒绝访问错误。我什至有另一个代码,将文件夹和其内容从一个目录移动到另一个。我已经做了我能想到的所有事情,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 
+0

什么是错误信息?如果试图在命令行上,而不是从VBScript运行完全相同的cacls命令,会发生什么? – Dan 2010-06-16 16:05:12

+0

您好丹, 本来嘛,intrunerror = 0,这意味着成功,但没有成功。然后,我以这样的方式隔离calcs部分,以便我可以从终端获得stdout输出,并且会说:您确定(是/否)? ACCESS_DENIED:\\ SERVER \ DIR \ DIR。如果是本地的话也是一样。我甚至试图冒充另一个用户,每个http://support.microsoft.com/default.aspx?scid=kb;EN-US;248187,但没有奏效。当我在命令行中运行相同的确切代码时,它执行得很好。我现在尝试在VBScript之外的asp。 谢谢, Levi – 2010-06-16 16:14:20

+0

我遇到了同样的问题,创建权限组的权限和设置组的文件夹权限的工具。在我的情况下,事实证明,新组在执行(x)cacls时不可见,所以我不得不建立一个等待/睡眠以使其工作。在旁注:您是否考虑使用PowerShell而不是cacls来执行此任务? – Filburt 2010-06-27 12:57:24

你给读/写访问的DIR文件夹?这需要在本地和服务器上完成。你有没有检查过这个许可?

Caio