secman

Problems with "DIRCREATE"

2 posts in this topic

I have a script which has been working sucessfully creating user accounts including creating the home drive on the server using "DirCREATE". We have uprgaded our servers to Virtualised Windows 2008 R2 and now the script fails to create the home drive whilst everything else work (using the wonderful AD tools from Walter).

Can anyone offer any assistance?

The function to create the folders and sort out the permissions is as follows:-

Func Folders($sUser, $sServer)

;Create Home folder

If FileExists("rmtshare.exe") then

DirCreate ("\\" & $sServer & "\HOME\" & $sUser)

If FileExists("\\" & $sServer & "\HOME\" & $sUser) Then

Global $SHUser = $sUser & "$"

Local $ShareCMD ="rmtshare.exe \\" & $sServer & "\" & $SHUser & "=e:\home\" & $sUser & " /UNLIMITED /GRANT everyone:f"

Run(@ComSpec & " /c " & $ShareCMD, "", @SW_HIDE)

MemoWrite ("User " & $sUser & " - Home Folder Created")

Local $xx = '"n:DOMAIN\' & $sUser & ';p:full"'

Local $PermCMD = "SetACL.exe -on \\" & $sServer & "\home\" & $sUser & " -ot file -actn ace -ace " & $xx

Run(@ComSpec & " /c " & $PermCMD, "", @SW_HIDE)

MemoWrite ("User " & $sUser & " - Home Folder Permissions Set")

Else

MsgBox(4096, "\\" & $sServer & "\HOME\" & $sUser , " Does NOT exist")

EndIf

Else

MsgBox(0, "ERROR", " RMTSHARE.EXE Not Found")

Endif

EndFunc

Thanks

Share this post


Link to post
Share on other sites



What is the output of this one?

$sServer="Server123"
$sUser="Test99"

$DirPath="" & $sServer & "HOME" & $sUser


$MyCMD='cmd.exe /k md "' & $DirPath & '" && if %ERRORLEVEL%==0 (echo DIR created: "' & $DirPath & '") else (echo cannot create directory "' & $DirPath & '")'

ConsoleWrite($MyCMD & @LF)
RunWait($MyCMD,@TempDir,@SW_SHOW)

Regards, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • fmlk
      By fmlk
      Hello,
      In a main script I have added logging and that is working. Now I created another small script where I need also logging. So I used the same code:
      What is wrong? Why is the logfile not created?

      $default_delay = 2000
      $logFilePath = ("C:\AutoIT_TestLogs")
      DirCreate($logFilePath)
      $Logfile = FileOpen($logFilePath & "\GMS_install" & @MON & "/" & @MDAY & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & ".log",1)
      FileWriteLine($logFile,@CR & @MON & "/" & @MDAY & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & "_Install_licenses")
      Consolewrite("Install_licenses" & @CR)
      Run("C:\Users\factory\Desktop\LicenseInstaller\LicenseInstaller.exe","C:\Users\factory\Desktop\LicenseInstaller")
      Sleep(1000)
      WinWait("Gatan License Installer")
      WinActivate("Gatan License Installer")
      WinWaitActive("Gatan License Installer")
      ControlClick("[ACTIVE]","","[NAME:CMD_Install]")
      Sleep($default_delay)
       If WinExists("LicenseInstaller") Then
           WinActivate("LicenseInstaller")
            WinWaitActive("LicenseInstaller")
            ControlClick("[ACTIVE]","","[CLASS:Button; INSTANCE:1]")
              sleep($default_delay)
         EndIf
      FileWriteLine($logFile,@CR & @MON & "/" & @MDAY & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & "_Licenses_Installed")
      Consolewrite("Licenses are installed" & @CR)
       
    • JibsMan
      By JibsMan
      My program starts by asking the user to select or create a directory to copy files to. FileSelectFolder won't let me type in a directory name and have it created. DirCreate doesn't have the GUI interface to allow the user to select a directory. Is there a method to display the File Tree and let the user either select an existing directory OR enter a directory name to add?
      Thanks!
      JibsMan