rene12345
Goto Top

PowerShell: alle iPhones in eine Verteilerliste

Hallo Leute,
ich fummel seit geraumer Zeit an folgendem Problem:
Im Unternehmen setzen wir iPhones und Android Smartphones ein, mein Vorgesetzter möchte, dass dafür Verteilerlisten existieren. Er möchte weiterhin, dass E-Mails versendet werden können (an diese Listen), wenn bspw. das neuste iOS installiert werden darf.

Nun habe ich mir gedacht, dass ich den ersten Schritt automatisieren möchte. Ein Powershell Skript soll auf dem Exchange Server laufen und jeden Abend prüfen, wer welches Gerät hat und die Person entsprechend in die Gruppen verschieben.

Dafür habe ich bspw. folgendes gefunden:
Get-MobileDevice | where {$_.DeviceType -match "iPhone*" -and $_.deviceaccessstate -match "allowed*"}  

Der Name des Benutzers wird unter "UserDisplayName" genannt, dies jedoch wie folgt: "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max"

Möchte ich nun den Nutzer einer AD Gruppe hinzufügen, wird dieser nicht aktzeptiert, weil der Befehl
Add-ADGroupMember "Test" "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max"  
das Objekt "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max" nicht finden kann. Das macht auch Sinn, nur weiß ich nicht, wie ich das anders abfrühstücken kann.

Weiterhin hatte ich folgenden Gedankengang, aber auch hier weiß ich nicht wie unausgereift dieser ist:
$UserList = Get-CASMailbox -Filter {hasactivesyncdevicepartnership -eq $true -and -not displayname -like "CAS_{*"} | Get-Mailbox  
$UserList | foreach {Get-MobileDevice -Mailbox $_ | where {$_.DeviceType -match "iPhone*"}} | Add-ADGroupMember "Test"  

Für Ideen wäre ich sehr dankbar. face-smile

Grüße

Content-Key: 347092

Url: https://administrator.de/contentid/347092

Printed on: April 18, 2024 at 08:04 o'clock

Member: patrickebert
patrickebert Aug 23, 2017 updated at 12:05:09 (UTC)
Goto Top
Zitat von @Rene12345:
Möchte ich nun den Nutzer einer AD Gruppe hinzufügen, wird dieser nicht aktzeptiert, weil der Befehl
Add-ADGroupMember "Test" "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max"  
das Objekt "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max" nicht finden kann. Das macht auch Sinn, nur weiß ich nicht, wie ich das anders abfrühstücken kann.


Hallo,

ich kann dir leider nur bei den 2. Punkt behilflich sein, da ich ansonsten nichts mit Mobile Devices zu tun habe

Add-ADGroupMember -identity "Gruppe" -member "SAMAccountName"  

LG
Member: Rene12345
Rene12345 Aug 23, 2017 at 12:20:07 (UTC)
Goto Top
Hallo Patrick,
danke für deine Antwort. Der Befehl:
Add-ADGroupMember -identity "Gruppe" -member "SAMAccountName"  

ist mir schon geläufig, in meinem Fall hat er aber Probleme damit das "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max" zu finden. Den SAMAccountName kann ich dort nicht eintragen, weil bei der vorherigen Abfrage dieser ja nicht existiert.

Grüße
Mitglied: 133883
Solution 133883 Aug 23, 2017 updated at 12:57:45 (UTC)
Goto Top
Das Pferd einfach umgekehrt aufzähmen und im Where Filter die Partnerschaft checken face-smile
$grp = "GruppeABC"  
(Get-Mailbox -ResultSize Unlimited) | ?{(Get-MobileDevice -Mailbox $_ -EA 0 | ?{$_.DeviceType -eq 'iPhone'}).Count -gt 0} | ?{$_.SamAccountName -notin (Get-ADGroupMember $grp).SamAccountName} | %{Add-ADGroupMember $grp -Members $_.SamAccountName}  
Fertsch.

Gruß
Member: Pjordorf
Pjordorf Aug 23, 2017 at 12:45:49 (UTC)
Goto Top
Hallo,

Zitat von @Rene12345:

Hallo Leute,
Im Unternehmen setzen wir iPhones und Android Smartphones ein, mein Vorgesetzter möchte, dass dafür Verteilerlisten existieren. Er möchte weiterhin, dass E-Mails versendet werden können (an diese Listen), wenn bspw. das neuste iOS installiert werden darf.
Wie wenige iPhones, iPads, Androide habt ihr denn?
Warum keine MDM Lösung welches sowas verhindern kann (Firmware aktualisieren usw.)?

Gruß,
Peter
Member: Penny.Cilin
Penny.Cilin Aug 23, 2017 at 12:49:04 (UTC)
Goto Top
Hallo,

mal ganz blöd gefragt:
Du weißt schon, daß Du
Add-ADGroupMember "Test" "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max"  
sinngemäß ersetzen mußt?
Gegebenenfalls musst Du den LDAP Syntax nutzen, in folgenden der Microsoft TechNetartikel.

Lese Dir den Artikel komplett durch am Ende sind ein paar Beispiele, vielleicht helfen Sie Dir.

Beispiel:
Get-ADGroup -Server localhost:60000 -SearchBase "OU=AccountDeptOU,DC=AppNC" -filter { name -like "AccountLeads" } | Add-ADGroupMember -Members "CN=SanjayPatel,OU=AccountDeptOU,DC=AppNC"  


Gruss Penny
Member: Rene12345
Rene12345 Aug 25, 2017 at 07:52:23 (UTC)
Goto Top
@133883;
dein Skript funktioniert so leider nicht.
(Get-Mailbox -ResultSize Unlimited) | ?{(Get-MobileDevice -Mailbox $_ -EA 0 | ?{$_.DeviceType -eq 'iPhone'}).Count -gt 0}  
Wenn ich bspw. nur das nutze, wird keine Ausgabe erzeugt, auch nicht, wenn ich das in eine Variable schreiben lasse und mir dann die Variable anzeigen lasse. Der Computer rödelt etwas, aber es gibt keine Ausgabe.

@pjorndorf;
das war nur ein Beispiel für einen Anwendungszweck. Generell gibt es auch öfters E-Mails die einen anderen Sinn haben. Dennoch vielen Dank für den Hinweis, ich werde unseren Dienstleister der die Geräte mittels BES12 verwaltet darauf ansprechen.

@Penny.Cilin
das Beispiel:
Add-ADGroupMember "Test" "contoso.com/Organisationseinheit/Organisationseinheit/Mustermann, Max"  
habe ich mir ausgedacht. Mir ist bewusst, dass das so nicht funktioniert. Vielmehr ist die Frage dann, ob man die Ausgabe mit PowerShell irgendwie bearbeiten kann. Um es zu verdeutlichen:

Befehl:
Get-MobileDevice | where {$_.DeviceType -match "iPhone*" -and $_.deviceaccessstate -match "allowed*"}  
Ausgabe (für eine Person):
FriendlyName            : iPhone 6
DeviceId                : eine Nummer
DeviceImei              : 
DeviceMobileOperator    : 
DeviceOS                : iOS 9.0.2 13A452
DeviceOSLanguage        : de-DE
DeviceTelephoneNumber   : 
DeviceType              : iPhone
DeviceUserAgent         : Apple-iPhone7C2
DeviceModel             : iPhone7C2
FirstSyncTime           : 18.06.2017 16:50:33
UserDisplayName         : meinedomäne.de/Benutzer/U_Mitarbeiter_Standard/Max,Mustermann
DeviceAccessState       : Allowed
DeviceAccessStateReason : Individual
DeviceAccessControlRule : 
ClientVersion           : 14.1

In der Abfrage existiert also keine Ausgabe, die dem Active Directory "gefällt". Da er den Befehl mit dem "UserDisplayName" ja nicht ausführen kann, weil der Syntax nicht stimmt.
Generell würde ich mich zum jetzigen Zeitpunkt auch lieber an die Vorgehensweise von Oneplus orientieren, da diese mehr Sinn ergibt.

Vielen Dank für die jetzigen Hilfestellungen! face-smile
Mitglied: 133883
Solution 133883 Aug 25, 2017 updated at 08:05:15 (UTC)
Goto Top
Geht hier einwandfrei! Wurde getestet.
Member: Rene12345
Rene12345 Aug 25, 2017 at 08:53:55 (UTC)
Goto Top
Funktioniert tatsächlich. Hatte die PowerShell nicht richtig zur Management Shell "gemacht".

Vielen Dank für das Skript und Grüße! face-smile