manpro
Goto Top

cmd konfigurieren?

Kann man über eine Datei weitere Einstellungen für cmd.exe vornehmen?

Hi *,

ich suche eine Lösung, wie ich für eine cmd.exe Einstellungen vornehmen kann, etwa in folgender Form:

doskey ct=cleartool $*
doskey ll=dir /P

Eine Lösung wäre es, dies über /k mit in die Verknüpfung aufzunehmen, doch dann hat man diese Settings nur, wenn cmd auch über die Verknüpfung gestartet wird. Doch viele Programme geifen ja direkt darauf zu ... face-sad

Hat einer eine Idee oder war ich zu blöd die Lösung in der Doku zu finden?

Danke.

Gruß
Manuel


[Edit Biber] Beitrag am 3.5.2009 geschlossen. [/Edit]

Content-Key: 29133

Url: https://administrator.de/contentid/29133

Printed on: April 24, 2024 at 13:04 o'clock

Member: Biber
Biber Mar 28, 2006 at 19:03:21 (UTC)
Goto Top
Moin Manuel,

Du hast die Lösung überlesen. Ist in einer ziemlich langen Doku.

Wenn Du am CMD-Prompt eingibst:

help cmd|find /i "Autorun"

erhältst Du zwei Registry-Schlüssel, die Du nutzen kannst.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Da Du es es ja sinnvollerweise nur für Dich/den User willst, nimm den zweiten.
Dort den Namen einer Batchdatei eintragen, in der Deine Batch-Befehle stehen, z.B. "c:\Batch\cmdstartup.bat" ...auf jeden Fall ABSOLUTEN Pfad.

Inhalt von dieser Datei z.B.
::--------snip cmdstartup.bat
@echo off
doskey ct=cleartool $*
doskey ll=dir /P
:: und noch einer gratis, den ich ganz pfiffig finde:
doskey cd=@cd $* ^& @call title ^^%%cd^^%%
:: *gg ...findest Du schon raus, was der macht...
::----snap cmdstartup.bat
Hope That Helps
Biber
Member: manpro
manpro Mar 29, 2006 at 06:43:57 (UTC)
Goto Top
H Biber,

habe mal wieder etwas gelernt: Das Gute ist so nah! Im Online-Help habe ich nicht nachgesehen gehabt, ich gestehe.

Dir herzlichen Dank, war genau, was ich suchte.

Schönen Gruß
Manuel
Member: ketchup
ketchup May 31, 2006 at 08:55:01 (UTC)
Goto Top
hi biber!

ich kenne diese funktion und hab sie auch im einsatz.

nur möchte ich nun dort aufgrund von bedingungen verschiedene commands durchführen.

zb: als "normaler" user sollen nur einige doskeys gesetzt werden.
als admin allerdings auch variablen und bestimmte befehle durchgeführt werden.

ich hab nun ein tool mit dem ich den admin-status abfragen kann => gibt auch tolle errorlevels zurück. nur über das autorun scheints so, als kein errorlevel abgefragt bzw ausgewertet werden kann => ist immer 0

ist aber nicht auf mein tool zurückzuführen, sondern hab ich mit anderen auch nachvollziehen können.

weißt du da tipps? hinweise? kennst du das vielleicht auch?

mfg
jürgen
Member: Biber
Biber May 31, 2006 at 16:54:39 (UTC)
Goto Top
Moin Jürgen,

nein, dieser Effekt ist mir nicht bekannt und ich kann ihn auch nicht reproduzieren.

Im meinem Beispiel-CmdStartUp.Bat habe ich eine Errorlevel-Anzeige eingebaut - die funktioniert auch as designed.
::--CmdStartUp.bat als AutoRun-Datei in der Registry.
@if "%cd%"=="%userprofile%" (  
  @echo off
  doskey cd=@cd $* ^& @call title ^^%%cd^^%%
  cd d:\temp
  REm --ab hier nur TEST
  If errorlevel 1 Echo Errorlevel vor find ist 1 oder größer
  echo "Hinz"|find "Kunz"  
  If errorlevel 1 Echo Find.exe liefert Errorlevel 1
  set use
  pause
  REM --bis hierher nur TEST
  cd >nul
)
::--CmdStartUp.bat als AutoRun-Datei in der Registry.
Der Batch wird bei jeder neuen Shell/jedem Sub-CMD-Aufruf gestartet. Das macht ja Windows für uns face-wink
Aber irgendetwas ausführen lasse ich ihn nur, wenn er wirklich über "Start-Ausführen-cmd" oder einen anderen Weg als neue Shell geöffnet wird.
Also wenn er sich im Verzeichnis %Userprofile% - meist "c:\Dokumente und Einstellungen\Username" öffnet.

Wie sieht der Codeschnipsel bei Dir aus?

Gruß
Biber
Member: ketchup
ketchup Jun 01, 2006 at 08:50:27 (UTC)
Goto Top
hi biber!

hab das ganze gestern noch auf meinem notebook getestet => dort funktioniert mein codeschnipsel genauso wie deines.

hab jetzt genau das gleiche codeschnipsel jetzt noch auf meinem firmenpc (dort brauch ichs eigentlich) nochmal getestet. hier funktionierts nicht.

da bekomm ich zb bei:
dir aösldfjksdlöfj
echo EL: %ERRORLEVEL%
 Directory of c:\

File Not Found
EL: 0

der output von deinem code schaut so aus:
Find.exe liefert Errorlevel 1
USERDNSDOMAIN=XXX
USERDOMAIN=XXX
USERNAME=XXXX
USERPROFILE=C:\Documents and Settings\XXX
Press any key to continue . . .

einzige unterschiede sind:
der pc im büro ist in ein AD (w2k) eingebunden.
ich arbeite hier mit einem AD-user
das start-directory beim cd ist "c:\" und nicht das userprofile-dir.
Member: Biber
Biber Jun 01, 2006 at 13:41:38 (UTC)
Goto Top
...dann gibt es für mich nur eine einzige logische Erklärung:

Für diesen AD-User (oder die ganze HKLM) sind die "erweiterten Funktionen" deaktiviert.
Da wette ich ein Becks...
Schau mal bitte hier in der Registry:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
(sollte beide defaultmäßig auf "EnableExtensions REG_DWORD 0x1" stehen ab Werk. )

oder alternativ (zum Testen) füge in der ersten Batch-Zeile nach dem @echo off ein:
[@echo off] & setlocal EnableExtensions

Wenn alle anderen Ursachen ausgeschlossen werden können und nur noch eine Erklärung übrig bleibt, das muss es diese auch sein, egal wie weit hergeholt sie klingen mag. (frei nach Sir Arthur C. Doyle)

Anders ist nicht erklärlich, dass Find.exe einen Errorlevel liefert, aber interne CMD-Befehle wie DIR keinen.

Halt mich mal auf dem Laufenden bitte.

Danke
Biber
Member: ketchup
ketchup Jun 01, 2006 at 14:54:23 (UTC)
Goto Top
tja, soweit hab ichs mir auch schon gedacht face-wink

hab jetzt noch etwas herumgespielt:

mein codeschnippsel
@echo off & setlocal EnableExtensions
echo EL-1: %ERRORLEVEL%
isadmin.exe
echo EL-0: %ERRORLEVEL%
rem ---
echo EL0: %ERRORLEVEL%
dir aösldfjksdlöfj
echo EL1: %ERRORLEVEL%

::--CmdStartUp.bat als AutoRun-Datei in der Registry.
@if "%cd%"=="%USERPROFILE%" (  
doskey ll=dir
doskey cd=@cd $* ^& @call title ^^%%cd^^%%
echo EL2: %ERRORLEVEL%
dir
echo EL3: %ERRORLEVEL%
dir aösldfjksdlöfj
echo EL4: %ERRORLEVEL%
rem ----
prompt %USERNAME%@%COMPUTERNAME%$B$S$P$G
  doskey cd=@cd $* ^& @call title ^^%%cd^^%%
  cd d:\temp
  REm --ab hier nur TEST
  If errorlevel 1 Echo Errorlevel vor find ist 1 oder größer
  echo "Hinz"|find "Kunz"  
  If errorlevel 1 Echo Find.exe liefert Errorlevel 1
  set use
  pause
  REM --bis hierher nur TEST
  cd >nul
)
::--CmdStartUp.bat als AutoRun-Datei in der Registry.

das ist dann mein ergebnis:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
EL-1: 0
You are an administrator
EL-0: 1
EL0: 1
 Volume in drive C is XXXX
 Volume Serial Number is 4086-7089

 Directory of C:\Documents and Settings\XXXX

File Not Found
EL1: 1
EL2: 1
 Volume in drive C is XXXX
 Volume Serial Number is 4086-7089

 Directory of C:\Documents and Settings\XXXX

22.05.2006  13....
EL3: 1
 Volume in drive C is XXXX
 Volume Serial Number is 4086-7089

 Directory of C:\Documents and Settings\XXX

File Not Found
EL4: 1
Find.exe liefert Errorlevel 1
USERDNSDOMAIN=XXX
USERDOMAIN=XXXX
USERNAME=XXX
USERPROFILE=C:\Documents and Settings\XXX
Press any key to continue . . .

die extensions sind auch in der registry für beide enabled face-sad

in dem fall hat mein script (isadmin.exe) richtig funktioniert.
aber danach bleibt der errorlevel anscheind für (fast) ewig auf 1.
auch wenn zB ein dir funktioniert.

kann ich den errorlevel denn einfach mal zurücksetzen?

jürgen
Member: Biber
Biber Jun 01, 2006 at 15:11:50 (UTC)
Goto Top
Na ja, Jürgen,

so schlecht ist das Zwischenergebnis ja nicht...

Der Errorlevel, der bei Deinem Test "trotz eines gültigen DIR-Befehls" auf 1 stehen bleibt..zumindest scheinbar... der befindet ja innerhalb der
IF [...]==[...] ( -Konstruktion.

Das ist also für den CMD-Interpreter eine Zeile...und überall dort, wo in dieser einen CMD-Zeile eine Variable %errorlevel% aufgelöst wird, da wird immer 1 stehen, oder welcher Wert auch immer aktiv war bei Ausführungsbeginn dieser Zeile.

-Workaround:
Statt
"if %errorlevel% == 1 " ..oder
echo %errorlevel%

Besser
IF Errorlevel 1 ...... (siehe meinen Find-Errorlevel oben)

oder---------
Du nimmst noch ein "setlocal enableDelayedExpansion" rein und schreibst in der IF ()-Konstruktion überall
statt %errorlevel%
jetzt: !errorlevel!

Die Isadmin und ihr Errorlevel funktionieren doch aber schon, oder?

Gruß
Biber
Member: wr12345678910
wr12345678910 Apr 30, 2009 at 12:59:17 (UTC)
Goto Top
hy,

habe ne frage also ich habe windows vista home edition 32 bit system also wenn ich da bei start cmd eingebe geht so ein schwarzes kästchen auf
aber wenn ich was eingeben will schliesst es sich, und in dem kästchen steht eingabeaufforderung ist vom administrator deaktiviert worden,
wie kann ich des aktivieren ich habs schon als als auch ohne administrator probiert is aber nich gegangen


pls brauche schnelle antwort thx im voraus!!!
Member: Biber
Biber Apr 30, 2009 at 15:32:27 (UTC)
Goto Top
Moin 1234567890,

willkommen im Forum.
pls brauche schnelle antwort thx im voraus!!!
Was soll so etwas? Ist es Deiner Meinung nach zwingend erforderlich?

Rückfrage aus gegebenem Anlass:
Ist das auf Deinem System ein neues Verhalten oder war es noch nie anders?
Das Deaktivieren von CMD, Scripting Host, RegEdit-Tools und TaskManager kann seit Win2000 userbezogen eingestellt werden (was ja nicht weiter verwerflich ist).

Allerdings machen es auf XP-Home-Büchsen sicherlich Anwender nur versehentlich durch gedankenloses Herumklicken mit TuneUp-Utilities oder ähnlichen Hochglanz-Überraschungseiern... vielleicht, wenn man/frau nebenbei telefoniert oder bügelt oder anders abgelenkt ist.

Wenn es noch nicht immer so war, dass diese Meldung kam und Du Dich nicht daran erinnern kannst in letzter Zeit nebenbei telefoniert oder gebügelt zu haben beim Ausprobieren von irgendwelchen Heft-CD-Giveaways..

---> dann hast Du Dir einen Billch-Schädling, irgendein Skriptkiddie-Erstlingswerk eingefangen.

Wenn Du einen Virus/Trojaner ausschliesst, dann UND NUR DANN prüfe, ob Du denn noch mit der RegEdit arbeiten kannst.
Wirst Du nämlich müssen, um ein paar Einträge im Zweig HKCU auf 0 zu setzen.

Aber bitte bitte erst die Prüfung "ist das System infiziert".

Grüße
Biber
Member: wr12345678910
wr12345678910 Apr 30, 2009 at 17:25:32 (UTC)
Goto Top
am es is so ich habe mir keinen vius eingefangen es war schon immer so das es nich ging

und der regdit ist auch deaktiviert vom administrator


lol


mfg.john
Member: Biber
Biber May 01, 2009 at 16:44:43 (UTC)
Goto Top
Moin 1234usw.,

na ja, wie immer im Leben (mindestens) zwei Möglichkeiten
[recommended]
  • wenn der regedit auch deaktiviert vom Administrator, dann bitte diesen, den Regedit und oder die CMD-Berechtigung freizugeben. Denn der hat es ja manuell gemacht und kann auch wieder die Registry-Einträge von 1 auf 0 zurückändern oder ganz löschen.

  • [Not recommended] wenn Du es Dir selber zutraust oder der Administrator gerade nicht so viel mit dir sprechen mag, dann gib unte "Start" "Ausführen" ein
"REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0 /f "

Dann kannst Du RegEdit wieder benutzen.
Und danach im selben Zweig überall, wo jetzt "blablubbDisable" im Wert eine "1" steht von "0" auf "1" ändern.

Details auf Anfrage oder bei gängigen Suchmaschinen.
Aber empfohlen ist der Weg über den- oder diejenigen, die seinerzeit/ihrerzeit diesen Benutzerbezogenen Reg-Eintrag geändert haben. Denn die wissen, was sie tun.

Grüße
Biber
Member: wr12345678910
wr12345678910 May 02, 2009 at 14:05:50 (UTC)
Goto Top
also ich hab das eingegeben aber ich kann regedit noch immer nicht öffnen


würde das cmd wieder gehn wenn ich den computer neu aufsetze oder gehts wenn ich windows vista ultimate rauf mache


mfg..john
Member: Biber
Biber May 02, 2009 at 19:59:23 (UTC)
Goto Top
Moin 123ff,

sorry, wenn ich ein bisschen zögerlich erscheine mit einer hilfreichen Antwort.
Aber das Szenario, soweit ich es aus Deiner Schilderung erkennen kann, erscheint mir suspekt und nicht plausibel.

Was mir unklar ist::
Wenn Du der Administrator dieser Büchse bist und nach Belieben dort neuaufsetzen oder eben mal ein Vi$ta Ultrabloed draufnageln kannst...
Wie um Gates Willen kommt diese DAU-Sperre (kein RegEdit, kein CMD...) dort drauf???
Das kann nur manuell und bewusst gesetzt worden sein.

Wenn Du es (der Mensch mit der Administratorrolle) nicht warst, dann kann es IMHO nur ein Virus/Trojaner gewesen sein.
Andere Erklärungen sehe ich nicht.
Diese Restriktionen werden nicht versehentlich gesetzt bei plötzlichen Spannungsabfall oder weil die Katze über die Tastatur gelaufen ist und dabei die Kombination Shift-Alt-F12 ausgelöst hat.

Wenn Du die Ursache für diese Sperrung nicht weißt
--> ja, dann setz am besten neu auf.
Oder noch besser, warte mal ein, zwei Tage -> vielleicht postet jemand anderes etwas Schlaueres.

Grüße
Biber
Member: wr12345678910
wr12345678910 May 02, 2009 at 22:52:01 (UTC)
Goto Top
kk thx für deine antwort es geht jetz wieder alles ich hab mir jetz das windows vista ultimate raufgemacht jetz funkt alles wieder einwandfrei trotzdem nochmals thx für alles!!!


mfg..

john