Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 380
  • Last Modified:

Add a user to all shares in the machine

Hi,

I need a way to add a user to the share and NTFS permissions on all shares in the machine with read permissions.Is there a way to do this.

Regards
Sharath
0
bsharath
Asked:
bsharath
  • 17
  • 15
1 Solution
 
chandru_solCommented:
How many shared drive are there?
0
 
bsharathAuthor Commented:
More than 1000
0
 
bsharathAuthor Commented:
there are 6 drives and 100 folders.This is a NAS box with windows 2000 OS
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
chandru_solCommented:
I think what we can do is list all the shares in the server and put that in a text file and then use setacl to set the permission for all the folders

regards
Chandru
0
 
chandru_solCommented:
Have you used shareenumerator from sysinternals
0
 
bsharathAuthor Commented:
Yes...
Does this have any option?
0
 
chandru_solCommented:
What option are you referring to? using this we can just pull out the shares
0
 
bsharathAuthor Commented:
I have the list of shares taken from shareenum.Now what i the next step?
0
 
chandru_solCommented:
Did you manage to get the list from the particular server?

Try this script......

regards
Chandru
Option Explicit 
Dim objFs, objShare 
Dim strServer
 
' The section sets the variables 
strServer = "servername"
 
' Connects to the operating system's file system
set objFs = GetObject("WinNT://" _
& strServer & "/LanmanServer,FileService")
 
' Loops through each share
For Each objShare In objFs
WScript.Echo objShare.path
Next

Open in new window

0
 
bsharathAuthor Commented:
I managed to get all the shares to a file.
Now need a way to add a user to all shares.
0
 
chandru_solCommented:
try this script........
Make sure you have the setacl in c:\windows\system32

regards
Chandru
Option Explicit 
Dim objFs, objShare 
Dim strServer
Dim StrFolder
Dim objshell
 
' The section sets the variables 
strServer = "servername"
 
' Connects to the operating system's file system
set objFs = GetObject("WinNT://" _
& strServer & "/LanmanServer,FileService")
 
' Loops through each share
For Each objShare In objFs
 
StrFolder = objShare.path
 
wscript.echo objshare.path
 
'SetACL to set permissions
Set objShell = CreateObject("WScript.Shell")
objShell.Run "%comspec% /c Setacl -on " & strFolder & " -ot file -actn ace -ace n:username;p:read;m:grant;"
wscript.sleep (10000)
 
Next
 
'Quit
Wscript.quit

Open in new window

0
 
bsharathAuthor Commented:
What will the script do..>Will it add a user to all folders.(Shared folders)
0
 
chandru_solCommented:
yes. I have added wscript.echo so that you can check after a folder whether the permission is applied

regards
Chandru
0
 
bsharathAuthor Commented:
I saved the code to a vbs file and ran it...Nothing changed.Is there any where i need to add the username.Or is there something i am missing
0
 
chandru_solCommented:
yes. change the username in the script to suit your needs and make sure setacl.exe is there from the location where the script is run or %systemroot%\system32

regards
Chandru
0
 
chandru_solCommented:
You need to change the servername aswell

regards
Chandru
0
 
bsharathAuthor Commented:
Should i change this part
n:username;p:read;m:grant
      ^Myname
0
 
chandru_solCommented:
only the username as bsharath
0
 
bsharathAuthor Commented:
Excellent Chandru...
Was wanting a script like this from 2yrs...

One more thing can you get the results to a file on what it has added and to what folders.
If the user is already there what happens.In the results we can see all...
0
 
chandru_solCommented:
Hope you didn't post the question in EE.

It doesn't make any difference if the user is already there.

I think if you can redirect the result using cscript
0
 
bsharathAuthor Commented:
I tried this
C:\>cscript addpermissions.vbs > c:\re.txt

Re,txt file has just this...
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

F:\Softwares\VPN
F:\c9934e862e22ff853c05cfghf

Any way to get the details...
0
 
chandru_solCommented:
Hope you removed the wscript.echo
0
 
chandru_solCommented:
Can you be more specific about what details?
0
 
bsharathAuthor Commented:
If i remove wscript.echo
I get this.

C:\>cscript addpermissions.vbs > c:\re.txt
C:\addpermissions.vbs(19, 2) Microsoft VBScript runtime error: Object doesn't su
pport this property or method: 'path'

For details i mean. Which shares has it updated and which it sould not update.
Success/Failures.

As for a folder VPN there was sharath already as member as Full access so when i run the script nothing happened...So if i can get a results file that says
Added Sharath to share "VPN"
It would be easy when i use this script to give permissions for 1000 folders
0
 
chandru_solCommented:
Try this with the log file

Change the username and the servername. Log file will be in C:\logs.txt

regards
Chandru
Option Explicit 
Dim objFs, objShare 
Dim strServer
Dim StrFolder
Dim objshell, Command
 
' The section sets the variables 
strServer = "servername"
 
' Connects to the operating system's file system
set objFs = GetObject("WinNT://" _
& strServer & "/LanmanServer,FileService")
 
' Loops through each share
For Each objShare In objFs
 
StrFolder = objShare.path
 
'SetACL to set permissions
Set objShell = CreateObject("WScript.Shell")
 
Command = "Setacl.exe -on " & strFolder & " -ot file -actn ace -ace n:Username;p:read;m:grant -log c:\logs.txt -silent"
 
ObjShell.run Command, 0, True
 
Next
 
'Quit
Wscript.quit

Open in new window

0
 
bsharathAuthor Commented:
I get the results file like this...

Processing ACL of: <\\?\F:\Softwares\VPN>

SetACL finished successfully.
Processing ACL of: <\\?\F:\c9934e862e22ff853c05cfghf>

SetACL finished successfully.
0
 
chandru_solCommented:
That is the results file created by the setacl

Do you need anything else?
0
 
bsharathAuthor Commented:
No that would be fine.Thanks a lot Chandru...
0
 
bsharathAuthor Commented:
Excellent Chandru Thanks....
0
 
chandru_solCommented:
Glad i helped you in a script which you were searching for a long time

Hope this solved your purpose

regards
Chandru
0
 
bsharathAuthor Commented:
Yes Chandru thanks a lot...
You saved hrs of my manual work with this script.Which can do the job in Minutes.

0
 
chandru_solCommented:
No worries!
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 17
  • 15
Tackle projects and never again get stuck behind a technical roadblock.
Join Now