Top-Themen

Aktuelle Themen (A bis Z)

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

PowerShell GUI bestimmten Wert aus Array auswählen und bearbeiten

Mitglied: rOMOP11

rOMOP11 (Level 1) - Jetzt verbinden

10.08.2018 um 14:06 Uhr, 552 Aufrufe, 1 Kommentar

Hallo Zusammen,

ich baue derzeit eine PowerShell GUI um bestimmte Attribute eines AD-Users zu verändern.
Mein Problem ist, dass in einem Attribut mehr als ein Eintrag vorhanden ist. Ich lasse mir alle EInträge eines Attributes in einer Listbox ausgeben. Aus dieser Listbox wähle ich nun das gewünschte Attribut aus, um es zu verändern. Wenn ich es nun verändere, werden alle weiteren EInträge gelöscht und es ist nur noch das geänderte Attribut vorhanden.
Meine Frage: Wie kann ich das Attribut verändern OHNE, dass alle weiteren EInträge gelöscht werden ?

Hier der betroffene Teil des Codes:
01.
 
02.
#### ProxyAddresses Attribut eines Users in ListBox ausgeben #### 
03.
 
04.
$usercombo.Add_SelectedIndexChanged({ 
05.
    $MailList.Text = (Get-ADUser -Identity $usercombo.SelectedItem -Properties * | Select -ExpandProperty mail | Out-String) 
06.
    $ProxyAddresses = Get-ADUser -Identity $usercombo.SelectedItem -Properties * | Select -ExpandProperty ProxyAddresses  
07.
 
08.
    if($ProxyAddresses.Count -gt 1){ 
09.
    $ProxyList.Items.Clear() 
10.
    $ProxyList.Items.Add($ProxyAddresses.SubString(5)[0])  
11.
    $ProxyList.Items.Add($ProxyAddresses.SubString(5)[1]) 
12.
13.
    else{ 
14.
    $ProxyList.Items.Clear() 
15.
    $ProxyAddresses.Count -eq 0 
16.
    $ProxyList.Items.Add($ProxyAddresses.SubString(5)) 
17.
    $ProxyAddresses = $ProxyAddresses | where {$_ -ne "sip:"} 
18.
    }}) 
19.
}) 
20.
 
21.
$usercombo = New-Object System.Windows.Forms.ComboBox 
22.
$usercombo.Location = New-Object System.Drawing.Size(35,55) 
23.
$usercombo.Size = New-Object System.Drawing.Size(175,175) 
24.
 
25.
$objForm.Controls.Add($usercombo) 
26.
 
27.
####  Button zum ändern des Attributes --> neue Object-Form mit TextBox#### 
28.
 
29.
$EditProxy = New-Object System.Windows.Forms.Button 
30.
$EditProxy.Location = New-Object System.Drawing.Size(120,450) 
31.
$EditProxy.Size = New-Object System.Drawing.Size(120,30) 
32.
$EditProxy.Text = "Edit ProxyAddresses" 
33.
$EditProxy.Add_Click( 
34.
35.
    $EditAddress = New-Object System.Windows.Forms.Form 
36.
    $EditAddress.Size = New-Object System.Drawing.Size(300,300) 
37.
    $EditAddress.Text = "Ändern Sie das ProxyAddresses Attribut" 
38.
    $EditAddress.StartPosition = "CenterScreen" 
39.
 
40.
    $EditAddressesBox = New-Object System.Windows.Forms.TextBox 
41.
    $EditAddressesBox.Size = New-Object System.Drawing.Size(175,175) 
42.
    $EditAddressesBox.Location = New-Object System.Drawing.Size(25,50) 
43.
    $EditAddressesBox.Text = $ProxyList.SelectedItem  
44.
    $EditAddress.Controls.Add($EditAddressesBox) 
45.
 
46.
    $EditAddressesButton = New-Object System.Windows.Forms.Button 
47.
    $EditAddressesButton.Size = New-Object System.Drawing.Size(120,20) 
48.
    $EditAddressesButton.Location = New-Object System.Drawing.Size(25,100) 
49.
    $EditAddressesButton.Text = "Edit ProxyAddresses" 
50.
    $EditAddressesButton.Add_Click( 
51.
52.
        Set-ADUser -Identity $usercombo.SelectedItem -Replace @{ProxyAddresses=$EditAddressesBox.Text} 
53.
        [System.Windows.Forms.MessageBox]::Show("Das Attribut wurde erfolgreich geändert") 
54.
        $EditAddress.Close() 
55.
 
56.
    }) 
57.
    $EditAddress.Controls.Add($EditAddressesButton) 
58.
 
59.
    $EditAddress.ShowDialog() 
60.
}) 
61.
 
62.
$objForm.Controls.Add($EditProxy) 
63.
 
In dem Abscnitt des $EditAddressesButton gibt es den Befehl Set-ADUser. Nach dem Replace Parameter will ich mit $EditAddressesBox.Text NUR den ausgewählten AEintrag des Attributes ändern. Und hier ist das Problem...Es werden ALLE Einträge überschrieben, anstatt der ausgewählte Eintrag.

Vielleicht sitze ich schon zu lange daran und ich übersehe einen einfachen Fehler ?

LG

rOMOP11
Mitglied: emeriks
10.08.2018 um 14:19 Uhr
Hi,
schau mal hier

Remove a String from a Multi-Valued Attribute

Statt "-Replace" nimm "-Remove" und "-Add".

E.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell Wert in Array finden
gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Hallo, in meinem Projekt lese ich einen Eintrag aus einer Combobox aus. Dieser wird in eine Variable / Objekt ...

Entwicklung

Powershell: Werte aus Array gezielt auslesen

gelöst Frage von SunnyRainyDayEntwicklung3 Kommentare

Hallo, Stehe ein wenig auf´m Schlauch. Ich möchte aus einem Array nur den Wert eines Feldes auslesen. Also z.b. ...

Batch & Shell

PowerShell Array Handling - Entfernen von Werten

gelöst Frage von derhoeppiBatch & Shell4 Kommentare

Hallo, folgendes Problem habe ich. Das Problem ist das $c nun die Werte von $a hat. Ich bin davon ...

Batch & Shell

Leere Array-Werte aus einem Array entfernen

gelöst Frage von ToniHoBatch & Shell3 Kommentare

Hallo zusammen, ich bin dabei ein Powershell-Script zu schreiben, welches diverse Reports generieren kann. Für die Eingabe von SamAccountNames ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken18 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte16 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...