Oder Du musst die Anführungszeichen innerhalb des Strings als doppelte Anführungszeichen angeben (erhöht jedoch nicht die Lesbarkeit).
[autoit]$sString = "String with ""embedded"" quotes"
ConsoleWrite($sString & @CRLF)
Oder Du musst die Anführungszeichen innerhalb des Strings als doppelte Anführungszeichen angeben (erhöht jedoch nicht die Lesbarkeit).
[autoit]$sString = "String with ""embedded"" quotes"
ConsoleWrite($sString & @CRLF)
Version 0.3.0 ist freigegeben.
Bitte ausgiebig testen vor Übernahme in die Produktion!
Für download siehe bitte den Link in meiner Signatur.
Ich verwende es viel in der Firma: Auswertungen des Active Directory (daher habe ich auch das AD UDF angepasst/erweitert), Outlook anpassen (wenn wir Feiertage in Outlook importieren, dann ist der Tag nicht mit abwesend markiert und es gibt daher immer wieder Dummies die dann eine Besprechung ansetzen - also importiere ich mit AutoIt und mache das ganze passend. Daher habe ich das Outlook UDF geschrieben), Fotos umbenennen bzw. mit Tags versehen etc.
Kein Stress - bin ab jetzt im Urlaub und erst wieder ab 27.6. in Amt und Würden.
Hier das abgekürzte Verfahren. Die Frage ist nur, wann möchtest Du das Skript beenden?
[autoit]Global $iKill = 0
While 1
$list = ProcessList()
For $i = 1 To $list[0][0]
Switch $list[$i][0]
Case "Winword.exe", "Outlook.exe"
ToolTip("Office 2010 Migration is active, Kills: " & $list[$i][0], 550, 0)
Sleep(1000)
RunAs('MyUser', 'MyDomain', 'MyPassWord', 0, @ComSpec & ' /c taskkill.exe /F /IM ' & $list[$i][0], @WindowsDir, @SW_HIDE)
$iKill = $iKill + 1
Case "xy.exe" ; Zweite gruppe von Programmen die anders gekillt werden muss
; Anderer Kill Befehl hier einfügen
$iKill = $iKill + 1
EndSwitch
Next
Sleep(1000)
WEnd
ProcessList gibt Dir eine Liste aller Prozesse die gerade laufen. Diesen Array kannst Du in einer Schleife durchlaufen und wenn es eines der Programme ist die gekillt gehören, dann kill es.
Lass mal mit Strg+F5 die Syntaxprüfung drüberlaufen.
Keine Ahnung.
Aber da wir ja den Client ansprechen und der mit - hoffentlich - den selben Protokollen mit dem Server spricht wie wenn er einen Exchange Server anspricht, dann sollte das eigentlich klappen.
Lass mal wie angegeben das _OL_FolderGet.au3 Skript laufen.
Hallo UEZ,
coole Tools! Scheint mein UDF doch brauchbar zu sein
OK - viel Ahnung habe ich noch nicht von der Synchronisiererei. Aber gehen wir es mal Schritt für Schritt an.
Ich habe leider noch Outlook 2002 oder bereits 2010. Bei beiden finde ich die von Dir angegebenen Punkte nicht.
Aber egal:
Markiere unter Outlook mal den zu synchrionisierenden Ordner und lasse dann das Skript _OL_FolderGet.au3 laufen. Element 13 müsste dann True anzeigen. Ein nicht zu synchronisierender Folder zeigt jedoch False.
Stimmt das?
Den Link um das OutlookEX UDF herunterzuladen findest Du in meiner Signatur unten.
Edit: Mit _OL_ItemSync kannst Du dann alle oder nur einen angegebenen Folder synchronisieren (hoffe ich zumindest).
Vielleicht hilft Dir die OutlookEX UDF von wooltown und mir weiter.
Die Funktionen für die Synchronisation habe ich gerade erst begonnen - aber leider noch nicht allzuviel Einblick.
Wenn Du mir sagen kannst, wie das im GUI geregelt wird, kann ich vielleicht die notwendigen Funktionen schreiben/anpassen.
Version 1.0.0 ist freigegeben.
Bitte ausgiebig testen vor Übernahme in die Produktion!
Für download siehe bitte den Link in meiner Signatur.
Mal ein paar Fragen um das Problem einzugrenzen:
Ich würde auch den AutoIt Obfuscator vorschlagen. Damit kann Deine Exe zwar noch immer dekompiliert werden aber der Code ist ziemlich unlesbar.
Wichtig dafür sind die Optionen:
/cs 1 : String encryption
/cn 1 : Numeric encryption
/cf 1 : Func rename
/cv 1 : Var rename
Damit das Ding nicht langsamer wird, empfehle ich noch:
/sf 1 : Strip all unused Func's
/sv 1 : Strip all unused Global var records
Sorry, aber der in der Fehlermeldung angegebene Code sowie die Zeilennummer kommen in dem von Dir geposteten Beispiel nicht vor.
So wird die Fehlerssuche natürlich etwas schwierig
water: soll mir sagen das es auch mit msgbox gehen sollte wenn ich den Dienst richtig konfiguriere?
Richtig. Rufe die Liste der Dienste auf, rechte Maustaste auf einen Dienst, Eigenschaften, Reiter "Anmelden", "Lokales Systemkonto", "Datenaustausch zwischen Dienst und Desktop zulassen" markieren.
So läuft's zumindest unter Windows 7.
Ein Service kann erst dann mit dem Desktop kommunizieren, wenn das bei der Einrichtung des Service angegeben wurde.
Nun bin ich auf Win 7 64bit umgestiegen.
Nun geht im Bsp bei 2 von 3 Fällen ExcelReadSheetToArray nicht mehr.
Außerdem funktioniert ExcelBookClose nicht mehr.
Dieses Problem hatte ich auch. Liegt daran, dass das Betriebssystem 64bit, Office aber vermutlich 32Bit ist.
Compiliere das Skript mal für 32Bit und das ExcelBookClose Problem sollte behoben sein.
Inzwischen gibt's sogar schon eine 3.3.7.3.