powershell test path - active roles

Hi guys,

When i run this command:

(Get-QADUser sst446).MemberOf

this use is part of server groups, now i need to know if this user is part of a group with the character fsr-prs, so i tried this and it fails:

(Get-QADUser yew357).MemberOf | % { if (*fsr-prs*){echo "pass!" } }

after i fix this stage, i need to put this group in variable. but lets fix this step first. please can someone help me.
Kelly GarciaSenior Systems AdministratorAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

becraigCommented:
(Get-QADUser yew357).MemberOf | % { if  ($_ -like "*fsr-prs*"){write-host "pass!" } }

Open in new window


Based on the output from get-qaduser we run a like match against it.
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
i;ve just got it to work!!!

(Get-QADUser yew357).MemberOf | % { if ($_  -like "*fsr-prs*"){echo "$_" } }

the result of $_ are:

 cn=dl-fsr-prs-eaf-pol....,ou=....., ,ou=...
 cn=dl-fsr-prs-eaf-df....,ou=....., ,ou=...
 cn=dl-fsr-prs-eaf-ois....,ou=....., ,ou=...

the only bit i need fsr-prs-eaf and i need this in a variable. then i need to add this to antother variable with the text \\wm.ws.qre.ac.uk

and i want this to equal to  \\wm.ws.qre.ac.uk\fsr-prs-eaf\users\yew357

i then need to do a test-path \\wm.ws.qre.ac.uk\fsr-prs-eaf\users\yew357

please help!
0
mcsweenSr. Network AdministratorCommented:
This will write all groups that contain the string "frs-prs" that User1 is a member of.

get-qaduser User1| Get-QADMemberOf | ForEach-Object {if ($_.name.contains("frs-prs") -eq $true) {write-host $_.name }}

Open in new window

0
What were the top attacks of Q1 2018?

The Threat Lab team analyzes data from WatchGuard’s Firebox Feed, internal and partner threat intelligence, and a research honeynet, to provide insightful analysis about the top threats on the Internet. Check out our Q1 2018 report for smart, practical security advice today!

becraigCommented:
(Get-QADUser yew357).MemberOf | select -expand name  | % { if  ($_ -like "*fsr-prs*"){write-host "pass!" } }

Open in new window


So I do not have a test, but you can probably  do the above or make a split.

(Get-QADUser yew357).MemberOf | % { if  ($_ -like "*fsr-prs*"){$gval = $_.split(",") -replace "cn=","";write-host "pass!" } }

Open in new window

0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
after this completes when i do a $gval[0] on powershell i get:

DL-FSR-PRS-EST-R

the only test i need is the prs-est

how do i split this again,

i then need to convert prs-est to prs\est and add \\wm.qw.ac.uk\fac & usr at the end, which would the equal to \\wm.qw.ac.uk\fac\prs\est\usr

please help!
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
if i do $gval[0].split("-")[1]

it gives me fsr,

i need the prs too! please help if put a 2 also therefore $gval[0].split("-")[1][2]

it gives me
just r
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
got it! its $gval[0].split("-")[1..3]

gives me

fsr
prs
est

now how do i put them in a \fsr\prs\est
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
i've got this far:

(Get-QADUser yew357).MemberOf | % { if  ($_ -like "*fsr-prs*"){$gval = $_.split(",") -replace "cn=","" }

$s=$gval[0].split("-")[1..3]

}
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
if writ this however only the group name appears when user is not in group instead i need the script to say that user aaw558 is not in group

(Get-QADUser aaw558).MemberOf | % { if  ($_ -like "*fsr-prs*"){$gval = $_.split(",") -replace "cn=","" }

else {echo "User $_ is not in a group"}

$s=$gval[0].split("-")[1..3]

}


please help!
0
Kelly GarciaSenior Systems AdministratorAuthor Commented:
$s values:

fsr
prs
est

now how do i put them in a \fsr\prs\est

?
0
becraigCommented:
Sorry you need to simply add join.
 $s  = ($s.split("-")[1..3] -join"-") -replace "-", "\"

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Powershell

From novice to tech pro — start learning today.