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 (294k 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

Hi team, I have a business rule which is triggered, after an approval request was updated. Is it possible to read the reason somehow (if entered by the ... possible to run these actions only against specific approval or commands which create approvals?

asked Oct 1, 2024 by wintec01 (1.5k points)
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

Good Morning, Getting this issue when trying to hide/unhide Exchange Online Mailboxes from the GAL using the Exchange section: These accounts/mailboxes are anchored on prem ... the "Hide from Exchange Lists" section of exchange which was working previously.

asked 2 days ago by curtisa (310 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.5k 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)
3,596 questions
3,283 answers
8,317 comments
548,256 users