- Liittynyt
- 18.10.2016
- Viestejä
- 1 552
Pitäisi saada listattua kaikki avoimet paikalliset käyttäjät siten, että jokaisesta kerrotaan käyttäjänimi, koko nimi, kaikki ryhmät joissa tunnus on ja lastlogon
Saan tällä hetkellä listattua nuo erikseen, mutta koska tunnuksia riittää melkoisesti pitäisi saada suoraan yhdistetty lista. Tuon ei kuvitteli olen osaavalle vaikea, mutta omat yritykset eivät ole vielä tuottaneet toimivaa versiota
ChatGPT on omiaan näitä varten.
Esimerkkinä vaikka tämä koodi jonka generoin chatgpt:llä
Koodi:
# Listaa kaikki paikalliset käyttäjät, jotka eivät ole poistettu käytöstä
$users = Get-LocalUser | Where-Object { -not $_.Disabled }
# Kerätään tiedot jokaisesta käyttäjästä
$result = foreach ($u in $users) {
try {
# Käyttäjän ryhmät
$groups = (Get-LocalGroup | ForEach-Object {
try {
if (Get-LocalGroupMember -Group $_.Name -ErrorAction SilentlyContinue | Where-Object { $_.Name -eq $u.Name }) {
$_.Name
}
} catch {}
}) -join ", "
# Viimeinen kirjautuminen (jos saatavilla)
$lastLogon = $u.LastLogon
if (-not $lastLogon) { $lastLogon = "Ei tietoa" }
# Tulostetaan yhteen objektiin
[PSCustomObject]@{
Käyttäjänimi = $u.Name
KokoNimi = $u.FullName
Ryhmät = $groups
LastLogon = $lastLogon
}
} catch {
Write-Warning "Virhe käyttäjän $($u.Name) kohdalla: $_"
}
}
# Näytetään tulos taulukkona
$result | Sort-Object Käyttäjänimi | Format-Table -AutoSize