[PROPOSAL] alternative Farbeistellung je nach Admin/User
Moderators: Hacker, Stefan2, white
[PROPOSAL] alternative Farbeistellung je nach Admin/User
Ich halte es für sehr vorteilhaft, bereits an den Farbeistellungen des Commanders sehen zu können, ob das Benutzerkonto Konto zur Zeit zur Gruppe der Administratoren oder nur zur Gruppe der User gehört.
Das scheint im ersten Moment ungewöhnlich, weil viele User sicher immer als Admin unterwegs sind, aber grade mit Scripts wie "MachMichAdmin" von heise/c't oder DropMyRights von MS ergibt so etwas sehr viel Sinn!
Dazu wäre es denkbar, einfach einen 2. Satz Farbeinstellungen zu hinterlegen der mit einer frei wählbaren Benutzergruppe verknüpft wird. Am Start kann TC prüfen, ob der aktuelle User in dieser Gruppe ist und dann diesen 2. Farbset laden.
Danke, daß Du Dir Zeit genommen hast, meinen Vorschlag zu lesen!
mit besten Grüßen,
Modem-Man
Das scheint im ersten Moment ungewöhnlich, weil viele User sicher immer als Admin unterwegs sind, aber grade mit Scripts wie "MachMichAdmin" von heise/c't oder DropMyRights von MS ergibt so etwas sehr viel Sinn!
Dazu wäre es denkbar, einfach einen 2. Satz Farbeinstellungen zu hinterlegen der mit einer frei wählbaren Benutzergruppe verknüpft wird. Am Start kann TC prüfen, ob der aktuelle User in dieser Gruppe ist und dann diesen 2. Farbset laden.
Danke, daß Du Dir Zeit genommen hast, meinen Vorschlag zu lesen!
mit besten Grüßen,
Modem-Man
Spricht was dagegen, den TC mit verschiedenen wincmd.inis zu starten, je nachdem, welches Konto aktiv ist? Den Aufruf kannst Du gleich in der Batch unterbringen.
Alternativ kann man auch die entsprechende Sektion in der wincmd.ini vor dem TC-Start entsprechend manipulieren. Wenn Du die Sektion per RedirectSection umleitest in eine separate Datei, beschränkt sich die Manipulation auf das Umbenennen von zwei Dateien mit verschiedenen [Colors]-Sektionen.
Icfu
Alternativ kann man auch die entsprechende Sektion in der wincmd.ini vor dem TC-Start entsprechend manipulieren. Wenn Du die Sektion per RedirectSection umleitest in eine separate Datei, beschränkt sich die Manipulation auf das Umbenennen von zwei Dateien mit verschiedenen [Colors]-Sektionen.
Icfu
This account is for sale
Nee, das geht ja eben nicht! Es ist immer das selbe Konto aktiv. Das Konto wird nur zwischen den Gruppen hin & hergeschoben. Und das auch nur für einzelne Prozesse, ohne sich aus- und wieder einzuloggen.icfu wrote:Spricht was dagegen, den TC mit verschiedenen wincmd.inis zu starten, je nachdem, welches Konto aktiv ist? Den Aufruf kannst Du gleich in der Batch unterbringen.
Zur Erklärung: Das Konzept von "MachMichAdmin" ist, daß auch Otto-Normalfamilienvater nicht als Admin auf seinem Rechner unterwegs ist. Wenn er eine Anwendung startet, für die ausnahmsweise doch Admin-Rechte nötig sind, macht er das mit "MachMichAdmin.cmd Anwendung123.exe". Dann wird ein CMD-Prozeß gestartet für den der aktuelle User (nach Passworteingabe) in die Gruppe der Admins geschoben wird. Alle anderen Anwendungen laufen weiter im Normal-User-Kontext. Ein bißchen so wie "sudo" in Linux. Aus diesem CMD-Prozeß heraus kann man dann natürlich weitere Programme starten, so daß man leicht übersehen kann, daß man gerade einen TC mit Admin-Rechten gestartet hat.
Zur Erklärung II:
Gelegentlich braucht man noch das Script "Gruppenwechsel2" (ebenfalls von c't). Dies verschiebt den User nicht "per process" ind die Admins sondern permanent. Man wird ausgeloggt und meldet sich gleich wieder an - schon ist man mit seinem normalen Konto Admin, kann schlecht gemachte Software installieren

Das mit dem Redirect ist vollkommen an mir vorbeigegangen! Wie geht das?icfu wrote: Alternativ kann man auch die entsprechende Sektion in der wincmd.ini vor dem TC-Start entsprechend manipulieren. Wenn Du die Sektion per RedirectSection umleitest in eine separate Datei, beschränkt sich die Manipulation auf das Umbenennen von zwei Dateien mit verschiedenen [Colors]-Sektionen.
Icfu
Wenn ich wüßte wie, würde ich einen TC-Starter schreiben, der die aktuelle Gruppenzugehörigkeit abfragt, die INI umwidmet, den Commander Startet und die INI wieder zurückbiegt. An Programmierkenntnissen mangelt es hier leider genau an einer Stelle: wie frage ich <Current User> und dessen <Groups> ab? Kleiner Wink mit der entsprechenden WinAPI-Funktion würde reichen

Any hints?
Modem Man
Relativ einfach: Zieh dir das MS-Tool ifmember.exe aus den Resource Kit und erstelle z.B. dieses Batch-Skript:Wenn ich wüßte wie, würde ich einen TC-Starter schreiben, der die aktuelle Gruppenzugehörigkeit abfragt, die INI umwidmet, den Commander Startet und die INI wieder zurückbiegt. An Programmierkenntnissen mangelt es hier leider genau an einer Stelle: wie frage ich <Current User> und dessen <Groups> ab?
Code: Select all
ifmember.exe /list | findstr.exe /I /C:"Administratoren" >NUL && start "" "%ProgramFiles\Total Commander\totalcmd.exe" /i="admin.ini"
So, ich denke, das ist Denkanstoß genug. Wenn du noch Fragen hast, dann frag einfach

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
In die wincmd.ini schreibst Du das, TC vorher beenden:
TC starten und die Farben so einstellen wie Du sie als Admin haben willst. Von colors.ini eine Kopie als colors_admin.ini anlegen.
Das selbe Spielchen wiederholen für die Userfarben und von colors.ini eine Kopie als colors_user.ini anlegen.
TC folgendermaßen starten:
Icfu
Code: Select all
[Colors]
RedirectSection=colors.ini
Das selbe Spielchen wiederholen für die Userfarben und von colors.ini eine Kopie als colors_user.ini anlegen.
TC folgendermaßen starten:
Code: Select all
net user %username% | find "Administratoren"
if errorlevel 1 (
copy colors_user.ini colors.ini
) else (
copy colors_admin.ini colors.ini
)
start "" totalcmd.exe
Last edited by icfu on 2008-06-24, 11:31 UTC, edited 1 time in total.
This account is for sale
Hmmm,
ich war zwar drauf und dran, den C-Compiler vorzuglühen und per NetAccessGetUserPerms() oder AccessCheck() die Gruppenabfrage zu lösen (und dabei die Profile gleich mit zu verbiegen), aber Dein Vorschlag ...
Probiere ich die Tage mal aus und berichte, wie es mir in der Praxis so gefällt. Muß dann zwar bei einigen Leuten noch diverse Links vom TOTALCMD.EXE auf TOTALCMD_START.CMD verbiegen, aber auch dafür findet sich vmtl. ein Script
Danke soweit!
Modem Man
ich war zwar drauf und dran, den C-Compiler vorzuglühen und per NetAccessGetUserPerms() oder AccessCheck() die Gruppenabfrage zu lösen (und dabei die Profile gleich mit zu verbiegen), aber Dein Vorschlag ...
... hat etwas bestechend einfaches!norfie² wrote:Ich habe es bei mir "eleganter" geloest:wincmd.ini wrote:[Colors]
RedirectSection=COLORS_%USERGROUP%.INItotalcmd.cmd wrote:SET USERGROUP=ADMIN
net user "%username%" | find "Administrators"
if errorlevel 1 set USERGROUP=USER
TOTALCMD.EXE
Probiere ich die Tage mal aus und berichte, wie es mir in der Praxis so gefällt. Muß dann zwar bei einigen Leuten noch diverse Links vom TOTALCMD.EXE auf TOTALCMD_START.CMD verbiegen, aber auch dafür findet sich vmtl. ein Script
Danke soweit!
Modem Man