Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ungültiger Parameter icacls in FOR-Schleife

Frage Entwicklung Batch & Shell

Mitglied: blue0711

blue0711 (Level 2) - Jetzt verbinden

26.12.2014, aktualisiert 21:45 Uhr, 2081 Aufrufe, 10 Kommentare, 2 Danke

Hallo,

ich steh etwas auf dem Schlauch.

Folgendes bringt mir immer nur die Fehlermeldung Ungültiger Parameter "Domänen-Admins" und Ungültiger Parameter "System"

01.
for /d %%i in (*.*) do ( 
02.
	icacls %%i /inheritance:r /grant "Domänen-Admins" 
03.
	icacls %%i /inheritance:r /grant "System" 
04.
)
Setze ich einfach nur die Variable, anstatt eine For-Schleife zu definieren, funktionieren die Zeilen aber.
Verkettung mit & dasselbe.

Was mach ich da falsch?

Gruß
Kai
Mitglied: 114757
26.12.2014, aktualisiert um 11:23 Uhr
Moin Kai,
ich würde die Laufvariable mal in Anführungszeichen setzen, wenn nämlich Leerzeichen im Pfad vorkommen gibt's da eben Probleme:
Und du gibst dem User ja gar keine Rechte mit...
icacls "%%i" /inheritance:r /grant System:(OI)(CI)F
Gruß jodel32
Bitte warten ..
Mitglied: blue0711
26.12.2014, aktualisiert um 11:26 Uhr
Damit hab ich auch schon rumprobiert, allerdings ohne Änderung des Ergebnisses.

Leerzeichen sind da auch nicht im Pfad.
Zum einen verwende ich keinen vollen Pfad, sondern nur die Unterordner des Startverzeichnisses, zum anderen geht's ja ohne For-Schleife mit der identischen Zeile.

Daher bin ich ja auch ratlos. Mir fällt kein Grund mehr ein, warum das nicht funktioniert.
Prüfe ich die Zeilen mit echo vorher, werden sie ja auch korrekt wiedergegeben.
Da steht dann zB.:
01.
icacls Ordner /inheritance:r /grant "System"
Und eben diese Zeile funktioniert ja eigentlich.

Gruß
kai
Bitte warten ..
Mitglied: Endoro
26.12.2014, aktualisiert um 11:27 Uhr
Hey, auf jeden Fall fehlt eine permission mask, etwa so:
01.
for /d %%a in (*) do ( 
02.
	icacls "%%~a" /inheritance:r /grant "Domänen-Admins":(OI)(CI) 
03.
	icacls "%%~a" /inheritance:r /grant "System":(OI)(CI) 
04.
)
Gruß, Endoro
Bitte warten ..
Mitglied: blue0711
26.12.2014 um 11:35 Uhr
Klar, nur leider führt die Angabe dieser dazu, dass das Skript sofort abgebrochen wird.
Selbst wenn ich vorher ein pause einfüge, sehe ich rein gar nichts mehr, das Skript-Fenster schließt bei der Ausführung sofort.

Gruß
kai
Bitte warten ..
Mitglied: 114757
26.12.2014, aktualisiert um 11:53 Uhr
Zitat von blue0711:

Klar, nur leider führt die Angabe dieser dazu, dass das Skript sofort abgebrochen wird.
dahinter Fehlt noch die Angabe des Rechts z.B. F für FullAccess,siehe meine Zeile oben,
/grant System:(OI)(CI)F
dann führe das Script mal in einer Konsole direkt aus, und entferne das @echo off dann siehst du was Sache ist !
Hier läuft es übrigens ohne Probleme, du musst uns irgendwas in deinem Script verschweigen.
Bitte warten ..
Mitglied: rubberman
LÖSUNG 26.12.2014, aktualisiert um 21:45 Uhr
Hallo Zusammen,

ich könnte mir vorstellen, dass bereits die erste schließende Klammer im DO Block als Abschluss des Blocks interpretiert wird. Maskiere mal (OI) & Co. zu (OI^).

Grüße
rubberman
Bitte warten ..
Mitglied: blue0711
26.12.2014, aktualisiert um 21:47 Uhr
Vielen Dank! DAS war die Lösung.
Nun funktioniert es wunderbar.
Offenbar passiert das sogar bei der &-Verkettung.

Gruß
Kai
Bitte warten ..
Mitglied: rubberman
26.12.2014 um 22:37 Uhr
Hallo Kai.

Offenbar passiert das sogar bei der &-Verkettung.
Eigentlich nicht. Es sei denn, du hast das Ganze in einem weiteren Klammerausdruck stehen, dann wird dieser Block natürlich auch durch die ")" in einer der Kommandozeilen abgeschlossen.
Pseudocode ...
01.
if <Condition> ( 
02.
  <Command> 
03.
  <Command> 
04.
  <Command> 
05.
  icacls "<Directory>" /inheritance:r /grant "System":(OI)(CI)F 
06.
  <Command> 
07.
  <Command> 
08.
)
... wäre so ein Beipiel. Korrekte Codeeinrückung hilft dir, so etwas frühzeitig zu entdecken (auch unpaarige Klammern etc.)

Grüße
rubberman
Bitte warten ..
Mitglied: Endoro
27.12.2014 um 01:11 Uhr
Hallo rubberman, es sind immer wieder diese nickligen "Kleinigkeiten"

Wenigstens zu Weihnachten könnte Batch mal so tun, als wäre es eine "richtige" Sprache
Gruß, Endoro
Bitte warten ..
Mitglied: rubberman
27.12.2014, aktualisiert um 02:28 Uhr
Hallo Endoro.

Wenigstens zu Weihnachten könnte Batch mal so tun, als wäre es eine "richtige" Sprache
Die Redmonder hatten es in der Hand, als sie mit den NT Versionen die cmd.exe und die zugehörige *.cmd Dateierweiterung eingeführt haben. Naja ... das ist Geschichte.

Die PowerShell wäre ein wunderbarer Ersatz. Leider ist sie für mich nutzlos, da ich Scripts zumeist beruflich nutze, um mir die Arbeit zu erleichtern. Leider haben unsere Admins ihre Hände darauf gelegt und die Ausführung von PowerShell per Gruppenrichtlinie untersagt... Im Moment sehe ich also noch keinen Anlass mich intensiver damit zu beschäftigen und muss weiterhin die Unzulänglichkeiten und das undefinierte Verhalten von Batch studieren.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD: icacls in for-Schleife
gelöst Frage von Lowrider614Batch & Shell2 Kommentare

Hallo, Was ich habe: Einen übergeordneten Ordner mit ca. 100 Projektverzeichnisen drin. Was ich will: In jedem Projektverzeichnis einen ...

Batch & Shell
Zähler in FOR Schleife als Parameter für Funktionsaufruf
gelöst Frage von robxBatch & Shell11 Kommentare

Hallo, ich will in einer FOR Schleife eine Funktion aufrufen, 1. Parameter soll ein Zähler sein, der sich jeweils ...

Batch & Shell
Batch: Parameter in einer For Schleife an eine Variable übergeben
gelöst Frage von BatchAnfaenger91Batch & Shell2 Kommentare

Hallo Liebe Leute, nun bin ich fast am Ende und bleibe trotzdem an Parameterübergabe hängen. Hier ist mein bisheriger ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 23 StundenBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server10 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...