Beiträge von Micha_he
-
-
Ich werde es morgen testen und von Erfolg oder Misserfolg berichten !
Edit: Klappt !
-
Auf der Suche nach einer Lösung um alte Computer in der Domäne zu finden, habe ich folgendes probiert:
[autoit]#include <AD.au3>
[/autoit][autoit][/autoit][autoit]_AD_Open()
[/autoit][autoit][/autoit][autoit]$sOU = "DC=dom,DC=suf"
[/autoit][autoit][/autoit][autoit]
$aObjects = _AD_GetObjectsInOU($sOU, "(objectcategory=Computer)", 2, "cn,operatingsystem,pwdlastset")
If @error > 0 Then
MsgBox(64, "", "Nichts gefunden")
Else
_ArrayDisplay($aObjects)
EndIf_AD_Close()
[/autoit]Das Array liefert zwar alle Computer (teilweise mit Betriebssystem) zurück, leider ist das Feld "pwdlastset" nicht gefüllt.
Liegt es daran, das mit der oben genutzten Funktion, den Interger8-Wert des Zeitstempels, nicht interpretiert kann ?Hat einer eine Idee ?
-
Unter Umständen sind deine 'Silent'-Parameter nicht richtig.
Versuch einmal:
[autoit]ShellExecuteWait('"' & $prerequisitesDir & 'dotnetfx.exe"', '/q:a /c:"Install /l /q"')
[/autoit]Ansonsten poste mal, wie die Installation unter der Kommandozeile ohne Probleme läuft. Den Pfad zur *.exe bekommen wir dann schon dort hinein.
-
ShellExecuteWait($prerequisitesDir & 'dotnetfx.exe" /q:a /c:Install /l /q')
Ich meinte, ein " fehlt !
[autoit]ShellExecuteWait('"' & $prerequisitesDir & 'dotnetfx.exe"', '/q:a /c:Install /l /q')
[/autoit]Edit: Außerdem müssee beim ShellExecute-Befehl die Parameter mit Komma getrennt angegeben werden.
-
Zähle einfach mal die " in deiner Fehlermeldung, dann kommst Du bestimmt selbst drauf.
-
Aha, interassant. Bringt mich dem Ziel schon etwas näher, danke. Auch wenn man vorher Das Script starten muss.
Das lässt sich meines Wissen nicht umgehen. Autorun funktioniert auf USB-Sticks nicht, sondern nur Autoplay (wo man auswählen kann, mit welcher Anwendung der eingelegte Datenträger geöffnet werden soll).
Ich habe es auch gerade nochmal unter Windows7 probiert. Nur bei einer eingelegten CD wird die 'Autorun.inf' ausgewertet, beim USB-Stick nicht !
Auf das gleiche Resultat kam ich damals unter Windows XP. -
oder dies aus meinen vergangenen Tagen:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Das kann zwar funktionieren, aber in Wirklichkeit zeigt dieser Registryzweig an, aus welcher Datei das Default-Icon bezogen wird.
Der richtige Pfad wäre dann schon : HKCR\http\shell\open\command
-
Der Befehl ist doch einfach zu finden ! Er heißt:
[autoit]SchreibIniSoWieIchWill($inifile, $data)
[/autoit]
Nein, mal im erst glaubst Du es gibt für alles was man haben möchte fertige Befehle ?
Der einzige den Du dafür brauchst ist "IniWrite()" und etwas Programmlogik. -
Bei mir lahmt das Forum auch zu anderen Zeiten, nicht nur zur vollen Stunde.
Immer mal wieder für einige Minuten und dann gehts plötzlich wieder.
Zur gleichen Zeit läufts auf anderen Webseiten aber ohne Probleme. -
Das Fenster erscheint immer auf dem Desktop des Users, der das Programm/Script gestartet hat.
Wenn es "Administrator" startet, dann auch nur auf dem Desktop von "Administrator" !Aber um ein Fenster auf dem Desktop des gerade angemeldeten User erscheinen zu lassen, muss es auch etwas geben. Bei "PSExec" gibt es einen Parameter "-i", mit dem ein Programm remote gestartet wird und auf dem aktuellen Desktop angezeigt werden sollte. Nur welche Funktion unter Windows dafür zuständig ist, habe ich nie in Erfahrung gebarcht.
-
Oder du schaust dir einfach mal diese Programm an
Spoiler anzeigen
Das soll angeblich das Format unterstützen.
MfG
Der_DocSoweit mir bekannt ist, zeigt XNView eine CDR-Datei nur als (Mini-)Priview an.
-
Na klar werde ich mich dem Dateinamen-Problem wieder annehmen, wenn ich wieder mehr Zeit dafür habe (der nächste Winter kommt bestimmt).
Aber den "MD5-Hash des verschlüsselten Namen" als Ersatz für den wirklichen Dateinamen ??? Ist denn bei diesem Verfahren ausgeschlossen, das ein MD5-Hash doppelt in einem Ordner vorkommt ? Meines Wissen nach ist ein MD5-Hash bei zwei Strings nicht 100% einmalig !
-
Vielleicht direkt nach DriveMapAdd dies DriveSetLabel ( "path", "label" )
Habe ich gerade probiert, geht nicht.
Aber das englische Forum hat was ausgespuckt und das geht:
[autoit]$driveLetter = "Z:"
[/autoit][autoit][/autoit][autoit]
DriveMapAdd($driveLetter, "\\Server\Freigabe")$oShell = ObjCreate("shell.application")
[/autoit]
$oShell.NameSpace($driveLetter).Self.Name = "NeuerName" -
Das hatte ich mir fast gedacht, aber ich konnte es mir bei der obigen Fragestellung nicht verkneifen.
Es würde auch per Registry gehen. Der Pfad lautet meines Wissens nach "HKCU\Software\Windows\Current Version\Explorer\MountPoints2\..."
Aber das würde halt auch nur für einen User gelten. Ob es so etwas Systemweit gibt, weis ich auch nicht. -
Rechte Maustaste.....Umbenennen !
-
Siehe Zeile 26 meines Beispiels --> ReDim $array.... (hier wird das Arrray an die wirkliche Anzahl von benutzen "$inputx" angepasst.
-
Na da sind aber noch einige Fehler drin. Du hast auch nie erwähnt das das Script mit einem Fehler abbricht und dann auch mit welchem.
Probiere es mal so, aber ohne Garantie, weil ich nicht weiß wie Deine INI aussieht.
Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $array[1] ;<<< hier
#region
$Form1 = GUICreate("Form1", 517, 170, 303, 240)
$MenuItem1 = GUICtrlCreateMenu("Datei")
$men_open = GUICtrlCreateMenuItem("Öffnen", $MenuItem1)
$men_save = GUICtrlCreateMenuItem("speichern", $MenuItem1)
#cs
$Input[0] = GUICtrlCreateInput("Input1", 272, 16, 185, 21)
$Input[1] = GUICtrlCreateInput("Input2", 272, 48, 185, 21)
$Input[2] = GUICtrlCreateInput("Input3", 272, 80, 185, 21)
#ce$Input1 = GUICtrlCreateInput("Input1", 272, 16, 185, 21)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Input2 = GUICtrlCreateInput("Input2", 272, 48, 185, 21)
$Input3 = GUICtrlCreateInput("Input3", 272, 80, 185, 21)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#endregion ### END Koda GUI section ###$i=1
[/autoit] [autoit][/autoit] [autoit]
while isdeclared("Input"&$i)
ReDim $array[$i] ;<<< hier
$array[$i - 1]=eval("Input"&$i) ;<<< hier
$i=$i+1
wendWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $men_open
[/autoit] [autoit][/autoit] [autoit]
$openini = FileOpenDialog("Bitte wählen Sie einen Katalog:", @ScriptDir & "\", "Einstellungen (*.ini;*.txt)", 1 + 4)
If @error Then
MsgBox(4096, "", "No File(s) chosen")
Else
$openini = StringReplace($openini, "|", @CRLF)For $i=0 to UBound($array)-1
[/autoit] [autoit][/autoit] [autoit]
$MeineIni = IniRead($openini, "Felder", $i, "NotFound")
GUICtrlSetData($array[$i],$MeineIni)
msgbox(4096,$array[$i],$MeineIni)
$MeineIni = ""Next
[/autoit] [autoit][/autoit] [autoit]
EndIfCase $men_save
[/autoit]
$saveini = FileSaveDialog("Bitte wählen Sie einen Katalog:", @ScriptDir & "\", "Einstellungen (*.ini;*.txt)", 16)
If @error Then
MsgBox(4096, "", "No File(s) chosen")
Else
For $i=0 To UBound($Input)-1
IniWrite($saveini,"Felder",$i,GUICtrlRead($array[$i])) ;<<< hier
Next
EndIf
EndSwitch
WEnd -
Und in den "Case"-Zweigen muss Du auch das richtige Array nutzen ! Oben $array, unten $Input.