0 votes

Hi,

Not sure if I'm asking the right question but here we go..!

I am looking to run a PowerShell Script that remotely triggers an Adaxes Custom Command and I would like to get direct feedback on the success\failure of the command to use in my pipeline.

In my simple test the Custom Command tests if the supplied user is a member of a group, and if so runs a PS script that logs the message 'True'.

Using the below PS script remotely I can execute this Command by passing it a user DN and then return the log message as my 'feedback', but was wondering if there was a more elegant way of doing this?

[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

$admNS = New-Object "Softerra.Adaxes.Adsi.AdmNamespace"
$admService = $admNS.GetServiceDirectly("server")

$user = $admService.OpenObject("Adaxes:/CN=Joe Bloggs,DC=network,DC=net", $NULL, $NULL, 0)
$user.ExecuteCustomCommand({command GUID})

$operationInfo = $user.GetLastOperationInfo()
$executionLog = $operationInfo.ExecutionLog
$executionLog.SubEntries.SubEntries.Message
by (250 points)
0

I could add, in this precise scenario I was trying to make the membership search in the most efficient way possible. This may not actually be it.

I could use the following:-

Get-AdmPrincipalGroupMembership -Identity "user"-AdaxesService "server"
$groups.Name -contains 'Domain Users'

But this is quite inefficient when the user is a member of a lot of groups. What way would you recommend to efficiently search if a member is a member of a specific group?

1 Answer

0 votes
by (273k points)
selected by
Best answer

Hello,

To check whether a user is a member of a specific group via Windows PowerShell, you can use the below script. It will output True if the user is a member and False if the user is not a member of the group. In the script:

  • $groupDN - specifies the distinguished name (DN) of the group;
  • $userDN - specifies the distinguished name (DN) of the user.
[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

# Connect to the Adaxes service
$admNS = New-Object("Softerra.Adaxes.Adsi.AdmNamespace")
$admService = $admNS.GetServiceDirectly("localhost")

# Bind to the group
$groupDN = "CN=SalesGroup,CN=Users,DC=domain,DC=com"
$group = $admService.OpenObject("Adaxes://$groupDN", $NULL, $NULL, 0)

# Check whether user is member of the group
$userDN = "CN=John Smith,CN=Users,DC=domain,DC=com"
Write-Host $group.IsMember("Adaxes://$userDN")

Related questions

0 votes
1 answer

Is there a way to enable/code a successful or unsuccessful popup window for a password change that was completed via the "change password" link on the MyProperties ... on a successful password change but an in-page notification would be extremely helpful.

asked Aug 29, 2014 by Phoenix7C7 (20 points)
0 votes
1 answer

Hi, we are running Adaxes in hybrid setup and on-prem as O365 is connected. My business rules looks like this Based on articles I have read here, the local mailbox should ... with a mailbox size of 2GB. Onprem: Online: Anything I am missing or misunderstood?

asked Jul 17, 2023 by wintec01 (1.1k points)
0 votes
1 answer

Are the logs still accessable using the "logging" link in the administrator console? What about the web console? What is the recommended setting for local log ... function within ADAXES to cleanup remote logs after they are past our retention requirements?

asked Jul 12, 2023 by stevehalvorson (110 points)
0 votes
1 answer

Hello! We have an Business Rule that should enable the remote Mailbox after an User is created but that does not work. The Powershell Script that we have in an Custom Command does ... now. What can i do to make it work like we intend to? Thanks in advance!

asked Jun 21, 2023 by eww ag (140 points)
0 votes
1 answer

Hello, I have a sheduled task running. This task checks if a user is a member of a Licensed Office 365 Group with exchange online. If the user does not have an ... the on prem exchange mailbox and the exchange online mailbox? Thanks if you have an idea!

asked Feb 24, 2023 by fabian.p (150 points)
3,371 questions
3,069 answers
7,815 comments
545,353 users