Jump to content

PS & dsquery + dsget


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

 

habe wieder mal ein Problem und weiß nicht weiter...

 

Nach Stunden langem Bücher wälzen und googlen, dachte ich "frag einfach mal hier nach" ^^

 

Folgendes Script liegt zu Grunde:

 

 

echo "##################################################"
echo "Variablen werden gesetzt..."
$user = $env:username
$domain = $env:userdomain
$computername = $env:computername

$path_in = "C:\Temp\group.txt"
$path_out = "C:\Temp\user-selfservice.html"

echo "##################################################"
echo "Selbstauskunftsdatei wird bereinigt..."
del $path_out

del $path_in

if($computername -match "xxxxxxxxx")
{
$clientname = $env:clientname
echo "##################################################"
echo "INFO: Terminalserver gefunden..." $computername
echo "##################################################"
echo "INFO: Thin-Client gefunden..." $clientname
}
else
{
if($computername -match "notebook")
{
echo "##################################################"
echo "INFO: Notebook gefunden..." $computername
}
else
{
echo "##################################################"
echo "INFO: Festrechner gefunden..." $computername
}
}
echo "##################################################"
echo "INFO: Domäne gefunden..." $domain

 

BEGINN d. wichtigen Teils:

echo "##################################################"
echo "Überprüfe Gruppenzugehörigkeit...

$groups = dsquery user domainroot -samid $user | dsget user -memberof -expand
foreach ($group in $groups)
{
if($group -ne "")
{
dsget group $group -samid -desc >> "H:Temp\group.txt"
}
}

 

Kurze Erläuterung vielleicht:

 

Das ist der relevante Teil. Hier wird festgelegt wo und was gesucht werden soll.

 

Info...

echo "##################################################"
echo "Überprüfe Gruppenzugehörigkeit...

 

Variable $groups wird gesetzt... (alle Gruppen in denen der Anwender Mitglied ist)

$groups = dsquery user domainroot -samid $user | dsget user -memberof -expand

 

Hier wird jede Gruppe einzeln abgefragt...
foreach ($group in $groups)
{

 

Abfrage ob die Gruppe nicht leer ist!
if($group -ne "")
{

 

Ausgabe des einzelnen Gruppennamens inklusive Beschreibung... in eine *.txt-Datei
dsget group $group -samid -desc >> "H:Temp\group.txt"
}
}

 

Hier nun meine Frage:

 

Wie kann ich die Ausgabe der Gruppennamen + Beschreibung so formatieren, dass es für Anwender in einer verständlichen Liste oder Tabelle wieder zu zeigen ist? Hierbei wird dem Anwender eine HTML (web-basiertes Frontend) für die Informationsübersicht bereitgestellt (lokale *.html-Datei).

 

Habe leider keinen Erfolg beim finden von Formatierungen gehabt.

 

Der Befehl  | findstr "xyz" funktioniert leider nur bedingt, da dieser nicht die gewünschten Ergebnisse erzielt.

 

Danke im Voraus für eure Rückposts

 

Gruß

 

-maDDin-

Link zu diesem Kommentar

Ohne alles gelesen zu haben? Wieso nutzt du ds* und nicht die Powershell AD Cmdlets?

 

Danke für die Frage. Habe das vergessen zu hinzuzufügen. Würde ich ja gerne tun und mit get-adUser, etc... wäre das bestimmt einfacher, habe leider von oben die vorgabe das mit den DS... befehlen durch zu führen da ein gesammter roll-out des powershell "plugins" mit den get-AD.. Befehlen nicht vorgesehen ist.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...