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-ID: 347092

Url: https://administrator.de/forum/powershell-alle-iphones-in-eine-verteilerliste-347092.html

Ausgedruckt am: 23.12.2024 um 12:12 Uhr

patrickebert
patrickebert 23.08.2017 aktualisiert um 14:05:09 Uhr
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
Rene12345
Rene12345 23.08.2017 um 14:20:07 Uhr
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
133883
Lösung 133883 23.08.2017 aktualisiert um 14:57:45 Uhr
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ß
Pjordorf
Pjordorf 23.08.2017 um 14:45:49 Uhr
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
Penny.Cilin
Penny.Cilin 23.08.2017 um 14:49:04 Uhr
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
Rene12345
Rene12345 25.08.2017 um 09:52:23 Uhr
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
133883
Lösung 133883 25.08.2017 aktualisiert um 10:05:15 Uhr
Goto Top
Geht hier einwandfrei! Wurde getestet.
Rene12345
Rene12345 25.08.2017 um 10:53:55 Uhr
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