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

PowerShell - AD - System. ComObject wird nicht ausgelesen...

Frage Entwicklung Batch & Shell

Mitglied: Binside

Binside (Level 1) - Jetzt verbinden

10.08.2010, aktualisiert 16:03 Uhr, 6812 Aufrufe, 2 Kommentare

In meinem PS-Script will ich den accountExpires auslesen und ändern.

Dazu rufe ich mit

01.
$User = [ADSI]"LDAP://CN=Max Mustermann,OU=Berlin,DC=bspdomain,DC=de"
den User aus dem Active Directory ab und soll mit

01.
$User.accountExpires
eigentlich den accountExpires-Wert auslesen können. Allerdings gibt mir die Konsole nur zwei Leerzeilen zurück.
Per

01.
$User | get-member
erfährt man, dass "accountExpires = {System._ _ComObject}"
bei allen verfügbaren {System._ _ComObject} bekomme ich 2 Leerzeilen zurück. Alle anderen Werte werden anstandslos ausgegeben. Was ist da los?

Danke für eure Hilfe und eure Zeit.

MfG

/B_out
Mitglied: Binside
11.08.2010 um 08:38 Uhr
Ok ich habe mal ein bisschen weiter geforscht und etwas gefunden:

01.
$Temp = New-Object directoryservices.directorysearcher($User) 
02.
#AccountExpires im Format "IADsLargInteger" 
03.
$Temp.findone().properties.accountexpires 
04.
 
05.
129293704000000000 
06.
 
07.
#und im Datumsformat 
08.
[datetime]::fromfiletime(($Temp.findone().properties.accountexpires)[0]) 
09.
 
10.
Mittwoch, 8. September 2010 00:00:00


wichtig scheint dabei zu sein, dass accountexpires klein geschrieben wird, denn

01.
[datetime]::fromfiletime(($Temp.findone().properties.AccountExpires)[0])
gibt "Cannot index into a null array." zurück.

Bei Änderungen des accountexpires-Wertes greifen jedoch ausnahmslos alle auf VBScript oder C# zurück, was sich für mich jedoch ausschließt. Gibt es keine Lösung in PowerShell diese Werte zu ändern?

MfG

/B_out
Bitte warten ..
Mitglied: Binside
19.08.2010 um 16:14 Uhr
ich habs jetzt so gemacht:

01.
$Datum = read-host ' 
02.
Geben Sie das Datum an, an dem der Account deaktiviert werden soll! 
03.
Format:  "DD.MM.YYYY" (Bitte mit Punkten angeben!) 
04.
Eingabe ' 
05.
$AETag = $Datum.split(".")[0] 
06.
$AEMonat = $Datum.split(".")[1] 
07.
$AEJahr = $Datum.split(".")[2] 
08.
$AEDatum = "$AEJahr/$AEMonat/$AETag" 
09.
$AEDatumLI = [datetime]::Parse($AEDatum, [System.Globalization.CultureInfo]::InvariantCulture) 
10.
$AEDatumLI = $AEDatumLI.ToFileTime() 
11.
$User = [ADSI]"LDAP://CN=$Name;OU=$Ort,DC=bspdomain,DC=de" 
12.
$User.InvokeSet("accountexpires","$AEDatumLI") 
13.
$User.SetInfo()
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell AD Set-ADUser Displayname (1)

Frage von killtec zum Thema Windows Server ...

Windows Userverwaltung
AD Gruppen per Powershell importieren (1)

Frage von renfud zum Thema Windows Userverwaltung ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (12)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...