Guten Tag alle miteinander,
ich bin's mal wieder. ;-))
Dank Peter, Denniver und Powerturtle bin ich zwar schon einiges weitergekommen aber mir ist an einer Lösung etwas aufgefallen was nicht ganz funktioniert wie ich es gerne hätte.
Jemand von Euch (ich glaube es war Peter) hat mir einige Codes geändert sodass ich in dem Tool unter System Info - User Name, SID, Fullname, Description, Disabled angezeigt bekomme.
Leider funktioniert das nur für den lokalen PC. Wenn ich das tool mit einem anderen PC verbinde erscheint nur der Name.
Ich bin wie immer reichlich mit google und Büchern am nachforschen aber leider bringen mich die Unterschiedlichen Code's immer nur durcheinander.
Bin mir nicht sicher wo das Problem liegt zumal ich bis dato noch nicht die richtigen Erklärungen über XML -> ListView -> XML gefunden habe die ich verstehen kann.
Das sieht vom code her fast überall anders aus und verwirrt mich nur noch mehr.
Deshalb würde ich mich über Eure Unterstützung freuen!!
XML file:
<User Enabled="True">
<CurrentUser Enabled="True"/>
<UserSID Enabled="True"/>
<UserFullname Enabled="True"/>
<UserDescription Enabled="True"/>
<UserDisabled Enabled="True"/>
</User>
Was mich hier etwas verwirrt ist der code an unterschiedlichen Stellen. Einmal mit "True... etc und in anderen Bereichen ohne.
<LocalAdmins>
<Property>Name</Property>
<Property>Domain</Property>
<Property>Class</Property>
</LocalAdmins>
PS file:
#
# Daten von aktuellem Benutzer einfügen
#
if ($XML.Options.SystemInfo.User.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("User")
$Item.BackColor = "Red" # "Black" Change Colour from System Info Header General
$Item.ForeColor = "Yellow" # "White" Change Text Colour from System Info Header General
$lvMain.Items.Add($Item)
if($XML.Options.SystemInfo.User.CurrentUser.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("Name")
if($SysComp.UserName -ne $null){$Item.SubItems.Add($sysComp.UserName)}
else{$Item.SubItems.Add("")}
$lvMain.Items.Add($Item)
}
if($XML.Options.SystemInfo.User.UserSID.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("SID")
If($CurrUserAcc) {
if($CurrUserAcc.SID -ne $null){$Item.SubItems.Add($CurrUserAcc.SID)}
else{$Item.SubItems.Add("")}
$lvMain.Items.Add($Item)
}
}
if($XML.Options.SystemInfo.User.UserFullname.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("Fullname")
If($CurrUserAcc) {
if($CurrUserAcc.Fullname -ne $null){$Item.SubItems.Add($CurrUserAcc.Fullname)}
else{$Item.SubItems.Add("")}
$lvMain.Items.Add($Item)
}
}
if($XML.Options.SystemInfo.User.UserDescription.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("Description")
If($CurrUserAcc) {
if($CurrUserAcc.Description -ne $null){$Item.SubItems.Add($CurrUserAcc.Description)}
else{$Item.SubItems.Add("")}
$lvMain.Items.Add($Item)
}
}
if($XML.Options.SystemInfo.User.UserDisabled.Enabled -eq $true){
$Item = New-Object System.Windows.Forms.ListViewItem("Disabled")
If($CurrUserAcc) {
if($CurrUserAcc.Disabled.Tostring() -ne $null){$Item.SubItems.Add($CurrUserAcc.Disabled.Tostring())}
else{$Item.SubItems.Add("")}
$lvMain.Items.Add($Item)
}
}
}
Irgendwie scheint, zumindest meiner Meinung nach, der Verweis/Hinweis zu fehlen das es sich um einen Remote PC handelt von dem die Daten eingelesen werden sollen.
Habe bis jetzt auch nichts gefunden was mir die folgenden Beispielzeilen genauer und vor allem verständlich erklärt.
if($XML.Options.SystemInfo.User.UserDisabled.Enabled -eq $true){ # ??????
$Item = New-Object System.Windows.Forms.ListViewItem("Disabled")
If($CurrUserAcc) {#??????
if($CurrUserAcc.Disabled.Tostring() -ne $null){$Item.SubItems.Add($CurrUserAcc.Disabled.Tostring())} #??????
else{$Item.SubItems.Add("")}
Vorab vielen Dank für die Unterstützung!!