Skip to main content

PowerShell check access or folder permissions


In an Active Directory domain, one of the common issues is folder permissions. Of course, permission must be restricted as much as possible. In order, confidential data or things that only a group of people will know, is not made available to everyone.

Employee salaries on a network share made available to everyone, will cause some employees to be disheartened. Such data, the access or folder permission should be checked properly.

One way to check a folder permission is to assume or login as a certain user that is not supposed to have access to such data and checked whether the data can be viewed or not.

Aside from restricting permissions for confidential data; data supposed to be accessed by everyone but some user’s complaint that they are unable to access then this will also cause some problem and may end up not being productive for the users.

One way to check is to go to the user’s workstation and verify whether the user is unable to access. This kind of issue is not hard to solve, but if there are multiple users who are complaining that they can’t access and checking one by one each user is not an easy task.

PowerShell can help on this kind of issue to verify whether the user’s account is denied access to a network share or not. In this method, the IT Administrator will save his or her time and is able to check without disturbing the user.

The code below will be able to check the folder permissions at the comfort of the IT Admin workstation, or if  working remotely via VPN or Direct Access then the code below will definitely help.


So, how to check user account folder permission remotely? PowerShell code snippet below will help to check folder permissions remotely using a specified account in question.

Here’s the code, to check whether a specific credential or domain account has access to a network share.

$the_password = ConvertTo-SecureString “PlainTextPassword” -AsPlainText -Force
$the_username = "domain_unknown_ufo\john.doe"

$CredAcess = New-Object System.Management.Automation.PSCredential ($the_username, $the_password)

 Invoke-Command -ComputerName $ComputerName -ScriptBlock {
            Get-ChildItem \\servername\sharename
        } -Credential $CredAcess

# domain_unknown_ufo – replace with the actual domain name
# john.doe - replace with the domain or user account
#
\\servername\sharename - replace with the server name or IP Address & the also the actual shared folder name on the network

If the credential of the user has permissions to the shared folder, then the PowerShell script will list or retrieve the contents of the shared folder and it will be displayed after running above script.

However, if the specified credential does not have access or is not allowed to get the contents of the shared folder. Then an error like “PermissionDenied” will be shown or UnauthorizedAccessException error can be seen after running the script and no folders or contents of the shared folder is shown.
 
By running, the PowerShell script the IT Admin can check the permission issue right at his workstation.

The above script can also be used for newly created Active Directory or Domain account to verify that proper access account settings is set on the user account.


Cheers..till next time. :)


================================
Free Android Apps:

Click  links below to find out more:

Excel Keyboard guide:


Heaven's Dew Fall  Prayer app for Android :



Catholic Rosary Guide  for Android:
Pray the Rosary every day, countless blessings will be showered upon your life if you recite the Rosary faithfully.https://play.google.com/store/apps/details?id=com.myrosaryapp


Comments

Popular posts from this blog

Notepad++ convert multiple lines to a single line and vice versa

Notepad++ is an awesome text editing tool, it can accept regex to process the text data. If the data is in a “.csv” format or comma separated values which is basically just a text file that can either be opened using a text editor, excel or even word. Notepad++ can process the contents of the file using regex. Example if the data has multiple rows or lines, and what is needed is to convert the whole lines of data into a single line. Notepad++ can easily do it using regex. However, if the data is on a single line and it needs to be converted into multiple lines or rows then regex can also be used for this case. Here’s an example on how to convert multiple rows or lines into a single line. Example data: Multiple rows, just a sample data. Press Ctrl+H, and  on "Find what" type: [\r\n]+ and on "Replace with" type with: , (white space) --white space is needed if need to have a space in between the data. See image below, "Regular Expression" must be se

WMIC get computer name

WMIC get computer model, manufacturer, computer name and  username. WMIC is a command-line tool and that can generate information about computer model, its manufacturer, its username and other informations depending on the parameters provided. Why would you need a command line tool if there’s a GUI to check? If you have 20 or 100 computers, or even more. It’s quite a big task just checking the GUI to check the computer model and username. If you have remote computers, you need to delegate someone in the remote office or location to check. Or you can just write a batch file or script to automate the task. Here’s the code below on how get computer model, manufacturer and the username. Open an elevated command prompt and type:     wmic computersystem get "Model","Manufacturer", "Name", "UserName" Just copy and paste the code above, the word “computersystem” does not need to be change to a computer name. A

How to check office version from command line

The are quite a few ways to check office version it can be done via registry, PowerShell or VBScript and of course, good old command line can also do it. Checking Windows office version whether it is Office 2010, Office, 2013, Office 2016 or other version is quite important to check compatibility of documents; or just a part of software inventory. For PowerShell this simple snippet can check the office version: $ol = New-Object -ComObject Excel.Application $ol . Version The command line option will tell you where’s the path located; the result will also tell whether office is 32-bit, 64-bit and of course the version of the office as well. Here’s the command that will check the office version and which program directory the file is located which will tell whether it’s 32-bit or 64-bit. Command to search for Excel.exe: DIR C:\ /s excel.exe | find   /i "Directory of"  Above command assumes that program files is on  C: drive. Sample Outpu