Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

AD Vorwahl von 04xxxx auf +49 xxx ändern per Skript

Frage Entwicklung Batch & Shell

Mitglied: pixel0815

pixel0815 (Level 1) - Jetzt verbinden

11.07.2014 um 15:59 Uhr, 2757 Aufrufe, 22 Kommentare, 1 Danke

Hallo zusammen,

ich würde gern auf einen schlag alle Rufnummern die mit einer 0xxxxx anfangen ein +49 xxx machen..
Hat da einer von euch mal sowas per Skript gemacht?

Gruß
Heiko
Mitglied: ChrisDynamite
11.07.2014 um 16:19 Uhr
hallo!

du meinst wahrscheinlich --> rechte maustaste auf den user, --> eigenschaften --> reiter rufnummern? diese änderungen kann man mit autoit automatisieren. codeaufwand: max 50 zeilen.

grüße chris
Bitte warten ..
Mitglied: pixel0815
11.07.2014 um 16:23 Uhr
Ja genau das Attribut TelephoneNumber.
Mit AutoIT? Hmm...
Bitte warten ..
Mitglied: AnkhMorpork
11.07.2014 um 16:28 Uhr
Hi,

die Powershell könnte da auch dein Freund sein/werden. Es gibt nur gaaanz wenige Sachen, die damit nicht realisierbar sind.

Gruß

ANKH
Bitte warten ..
Mitglied: ChrisDynamite
11.07.2014 um 16:30 Uhr
ja, aber ini beiden fällen ist es skript-aufwand. ob es das wert ist weiß ich nicht zu beurteilen.
Bitte warten ..
Mitglied: AnkhMorpork
11.07.2014 um 16:33 Uhr
Zitat von ChrisDynamite:

ja, aber ini beiden fällen ist es skript-aufwand. ob es das wert ist weiß ich nicht zu beurteilen.

Aber du hast doch nach Script gefragt???

ANKH
Bitte warten ..
Mitglied: jsysde
11.07.2014 um 16:34 Uhr
Mahlzeit.

ADModify.NET?

Cheers,
jsysde
Bitte warten ..
Mitglied: Dani
11.07.2014 um 16:52 Uhr
Hallo Heiko,
es gibt dazu einen Blogartikel von Microsoft.


Gruß,
Dani
Bitte warten ..
Mitglied: ChrisDynamite
11.07.2014 um 17:42 Uhr
ganz kuhl ich meinte dass sowohl powershell als auch autoit scriptaufwand bedeutet.
Bitte warten ..
Mitglied: AnkhMorpork
11.07.2014, aktualisiert um 18:26 Uhr
Zitat von ChrisDynamite:

ganz kuhl ich meinte dass sowohl powershell als auch autoit scriptaufwand bedeutet.

Tut es auch! Aber wo ist dein Problem?
Hat da einer von euch mal sowas per Skript gemacht?
Wie soll das denn nun interpretiert werden???

ANKH
Bitte warten ..
Mitglied: colinardo
11.07.2014, aktualisiert 12.07.2014
Moin zusammen,
ist doch alles halb so wild ... könnte vereinfacht so aussehen, wenn es hier nur um die Hauptrufnummer geht, ließe sich aber problemlos auch auf andere Nummern ausweiten:
01.
get-aduser -Filter * -Properties telephoneNumber | ?{$_.telephoneNumber -match '^0049'} | %{set-aduser $_ -Replace @{telephoneNumber=$($_.telephoneNumber -replace '^0049','+49 ')}}
Die einzelne 0 bei 04 am Anfang kam mir jetzt etwas komisch vor, deshalb hab ich im Script mal den Match auf 0049 am Anfang der Nummer gesetzt. Lässt sich ja einfach anpassen und wenn gewünscht zusätzlich auch weitere Muster berücksichtigen, wenn man im Regex-Pattern die Muster mit einer Pipe voneinander trennt.

Grüße Uwe
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 13:55 Uhr
Hallo Uwe,

das schaut ja super aus. Ich verstehe nur nicht warum keine Änderung durchgeführt wird. Es gibt nicht mal eine Fehlermeldung
Bitte warten ..
Mitglied: colinardo
14.07.2014, aktualisiert um 14:05 Uhr
Zitat von pixel0815:
das schaut ja super aus. Ich verstehe nur nicht warum keine Änderung durchgeführt wird. Es gibt nicht mal eine
Fehlermeldung
les mal meinen Kommentar, ich habe den Pattern Match auf 0049 am Anfang einer Nummer gesetzt weil mir das 04 komisch vorkam.. musst du halt entsprechend an eure Situation anpassen. geht hier übrigens einwandfrei ...
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 15:05 Uhr
Ich habe es so angepasst das am Anfang +49 steht und dann auf 0049 geändert werden soll um es mal zu probieren.
Die Telefonnummern sind tatsächlich die Ortsvorwahlen. 041xxx ... die 0 soll weg und dafür ein +49 hin.
Bitte warten ..
Mitglied: colinardo
14.07.2014, aktualisiert um 15:09 Uhr
Zitat von pixel0815:
Die Telefonnummern sind tatsächlich die Ortsvorwahlen. 041xxx ... die 0 soll weg und dafür ein +49 hin.
achso ... dann haben wir uns missverstanden
in diesem Fall müsste es so aussehen
get-aduser -Filter * -Properties telephoneNumber | ?{$_.telephoneNumber -match '^0'} | %{set-aduser $_ -Replace @{telephoneNumber=$($_.telephoneNumber -replace '^0','+49 ')}}
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 15:11 Uhr
Spielt es eine rolle ob dies eine 2012 R2 domäne ist? ..
Bitte warten ..
Mitglied: colinardo
14.07.2014, aktualisiert um 15:14 Uhr
Zitat von pixel0815:
Spielt es eine rolle ob dies eine 2012 R2 domäne ist? ..
normalerweise nicht. Script läuft hier sowohl auf einem 2012R2 als auch 2008R2.
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 15:22 Uhr
Es funktioniert. Ich habe den betreffenden Server einmal neugestartet. Super! Du kannst das ja richtig gut. Kann ich damit auch aus Vorname und Nachname eine Emailadresse in das AD schreiben in ein bestimmtes Feld? Ich möchte aus Vorname und Nachname eine Emailadresse generieren. Wir haben leider keinen Exchange Server mehr, aber müssen jetzt eine Software einsetzen die diese Attribute in unserer Domäne abfragt und nicht in unserem externen Mailcenter ...
Bitte warten ..
Mitglied: colinardo
14.07.2014 um 15:25 Uhr
Zitat von pixel0815:
Kann ich damit auch aus Vorname und Nachname eine Emailadresse in das AD schreiben in ein bestimmtes Feld? Ich möchte aus Vorname und Nachname
eine Emailadresse generieren. Wir haben leider keinen Exchange Server mehr, aber müssen jetzt eine Software einsetzen die
diese Attribute in unserer Domäne abfragt und nicht in unserem externen Mailcenter ...
sicher, kein problem.
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 15:28 Uhr
Ich hab mich schon für einen Powershell Workshop angemeldet. Das ist ne tolle Sache.
Bitte warten ..
Mitglied: colinardo
14.07.2014, aktualisiert um 15:36 Uhr
Kann ich damit auch aus Vorname und Nachname eine Emailadresse in das AD schreiben in ein bestimmtes Feld?
Beispiel um eine Mail-Adresse im Format vorname.nachname@domain.local im Description-Feld der User zu erzeugen.
get-aduser -Filter * | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{set-aduser $_ -Replace @{Description="$($_.givenname).$($_.surname)@domain.local"}}
Hier noch ein paar Links zum lernen von Powershell:
Powershell Grundlagen- und Praxisvermittlung:

Viel Erfolg
Grüße Uwe
Bitte warten ..
Mitglied: pixel0815
14.07.2014 um 16:01 Uhr
function ChangeEmail {
$ad.name= $args[0]
$ad.vorname= $args[1]
set-aduser $_ -Replace @{mail="$($_.vorname).$($_.nachname)@domain.de"}}
$ad.Put()
}

$benutzer = Import-Csv “OhneMailAttribut.csv”

foreach ($benutzer in $benutzers) {
ChangeEmail $benutzer.vorname, $benutzer.nachname
}

So würd ichs am liebsten machen. Ich möchte ja eventuelle Sonderzeichen in den Feldern vorher anpassen.
Bitte warten ..
Mitglied: colinardo
14.07.2014, aktualisiert um 17:10 Uhr
Ich möchte ja eventuelle Sonderzeichen in den Feldern vorher anpassen.
Das geht auch in meiner abgekürzten Zeile problemlos, sogar mehrere Zeichen auf einmal mit RegEx !! naja egal, wenn, dann würde das in deiner gewümschten Variante so aussehen, wenn in der CSV Das Semikolon als Trennzeichen eingesetzt wird und der SamAccountName in der entsprechend benannten Spalte der CSV-Datei steht. Die Übergabe der Namen an die Funktion ist Quatsch wenn man den Usernamen hat, Vornamen und Nachnamen stehen ja schon im AD.
01.
function ChangeEmail ($username) { 
02.
$user = get-aduser $username -Erroraction SilentlyContinue 
03.
if ($user){ 
04.
  set-aduser $user -Replace @{mail="$($user.givenname).$($user.surname)@domain.de"} 
05.
}Else{ 
06.
  write-host 'User existiert nicht' 
07.
08.
09.
 
10.
$benutzer = Import-Csv "c:\OhneMailAttribut.csv” -delimiter ";" 
11.
foreach($b in $benutzer){ 
12.
  ChangeEmail $b.SamAccountname 
13.
}
Das ist aber jetzt alles schon ziemlich Offtopic, bitte mach bei Fragen dazu und Powershell einen neuen Thread auf und markiere diesen jetzt als gelöst. Merci.

Mach erst mal deinen Kurs, dann sehen wir weiter...

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(1)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Windows Userverwaltung
PS Skript AD Objekte auslesen (1)

Frage von m.reeger zum Thema Windows Userverwaltung ...

Batch & Shell
Powershell Universelles Skript zum Ordnerberechtigungen ändern (3)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows Server
SBS2008 AD funktioniert nur im LAN mit bestimmter IP. wie ändern? (13)

Frage von tomeknfr zum Thema Windows Server ...

Windows Netzwerk
gelöst Netzwerkdrucker nach Printservertausch im Login Skript ändern. (7)

Frage von steveauskiel zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...