I needed to get information which is located in the AD user information, which is located on the tab “Remote Dekstop Services Profile”, which gives the user Profile Path, Home Folder drive and location of the Home Folder on the network (see image below).

I also wanted to check if the given path in this screen can be reached, thus the Test-Path
command can be used for that cause.
It appeared that the Get-ADUser
couldn’t give me this information, and after some searching, it appeared that this had to be done via ADSI.
Since not all users in our network have a home folder entered, the Test-Path
command can give errors and I wanted to log which user accounts gave these kind of errors, thus I added a Start-Transcript to log all output of the script. I also wanted to export this information to a csv, thus I added an Export-CSV
in the end (with a “;” as delimiter, since this is the default delimiter for Excel in my country).
When getting the data via ADSI, I need to get the information for
- TerminalServicesProfilePath
- TerminalServicesHomeDirectory
- TerminalServicesHomeDrive
You need to change the searchbase part in this command to get the users from the OU in your domain (it will only get the information for enabled accounts in the given OU):
Get-ADUser -Filter {Enabled -eq $true} -SearchBase 'OU=UsersOU,DC=domain,DC=com'
The entire script will become:
Start-Transcript $PSScriptRoot\GetRemoteDesktopServicesProfileInformation.txt
$Results = @()
Get-ADUser -Filter {Enabled -eq $true} -SearchBase 'OU=UsersOU,DC=domain,DC=com' | ForEach {
$UserInfo = [ADSI]"LDAP://$($_.distinguishedName)"
Write-Host ("Prosessing {0}" -f $_.distinguishedName)
$Prop = @{
SamAccountname = $_.Samaccountname
TSProfilePath = $UserInfo.TerminalServicesProfilePath
TSHomeDirectory = $UserInfo.TerminalServicesHomeDirectory
TSHomeDrive = $UserInfo.TerminalServicesHomeDrive
PathTestOk = Test-Path -Path $UserInfo.TerminalServicesHomeDirectory
}
$Result = New-Object -TypeName PSObject -Property $Prop
$Results += $Result
}
$Results | Export-Csv $PSScriptRoot\RDSI.csv -Delimiter ";" -NoTypeInformation
Stop-Transcript
You can download the entire script here.