Hi Oscar,
oh mann da war ich irgendwie komplett auf dem Holzweg.
Funktioniert bestens. Danke.
Hi Oscar,
oh mann da war ich irgendwie komplett auf dem Holzweg.
Funktioniert bestens. Danke.
Hallo Zusammen,
ich stehe derzeit mal wieder ein wenig auf dem Schlauch. Ich habe folgendes Problem. Ich mache ein SQL Query und bekomme dann folgenden Wert zurück:
computername|mitarbeiter
xyz|Heinz, Karl
zxy|Mann, Manfred
Das würde ich gerne in ein 2D Array splitten, aber irgendwie steh ich gerade auf dem Schlauch...
Vielleicht kann mir ja jemand von euch helfen?
Jupp jetzt passt es
Achso, ja klar sollten es mehr Zeilen sein. Allerdings klappt meiner Vermutung nach schon der StringSplit nicht
Hier der Output:
My
================ Certificate 0 ================
X509 Certificate:
Version: 3
Serial Number: 61039fc7000100007852
Signature Algorithm:
Algorithm ObjectId: 1.2.840.557890.1.1.5 sha1RSA
Algorithm Parameters:
05 00
Issuer:
CN=xyz
OU=xyz
O=xyz
C=DE
NotBefore: 01.10.2014 12:12
NotAfter: 30.09.2019 12:12
Subject:
E=hans.wurst@test.local
CN=Hans Wurst
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.558769.1.1.1 RSA (RSA_SIGN)
Algorithm Parameters:
05 00
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
0000 30 82 01 0a 02 82 01 01 00 bd e3 68 d4 11 2a 5b
0010 95 4e 35 87 21 76 16 cb 7f 63 f4 2d 32 e1 38 b5
0020 fb ba 12 b5 b1 d7 66 70 39 bc 3a 4e df 94 9a c5
0030 82 74 c3 b3 25 a2 ba e8 a1 8d 8e 62 c6 3f 6f 4d
0040 40 57 fe 23 3f cb 76 b0 4b 81 21 27 ce b1 4f b1
0050 bd fd 5e 42 98 5f 40 8e 91 eb 60 04 ee c0 3f d9
0060 08 72 77 65 28 1a f2 6e c0 71 e5 ca bf 15 03 c1
0070 8c 95 12 8c 2f 1d ee 1a a0 3c 5b da df 3d 29 76
0080 0c d5 75 88 60 82 f6 c9 7d 43 3b 10 82 7c c8 45
0090 c1 f0 23 a5 6a 2c 09 33 18 f7 67 d1 f5 15 f8 29
00a0 04 e4 9c fd c5 35 a0 42 6a 60 39 f1 fb 9f eb 0c
00b0 fe 7c 71 d5 75 4c d4 46 a1 07 c1 e6 3d 07 7e db
00c0 40 e4 ea a3 d9 7e 42 63 46 5b e3 17 59 3a b9 47
00d0 23 f1 b0 27 1b 46 b9 6e 45 03 92 b8 e8 54 3f 83
00e0 f4 bf 38 b8 da 55 44 44 6e 05 c7 c2 d0 20 96 7f
00f0 c1 0f d0 29 2b 48 13 bd e2 70 9a 98 3d 9e ea 4f
0100 4b 6d 09 c7 57 04 88 a4 ab 02 03 01 00 01
Certificate Extensions: 9
2.5.29.15: Flags = 0, Length = 4
Key Usage
Digital Signature, Key Encipherment, Data Encipherment (b0)
1.3.6.1.4.1.222.21.7: Flags = 0, Length = 31
Certificate Template Information
Template=Bit 2048(1.3.6.1.4.1.311.21.8.6777589.7918127.329337
0.8423385.13961411.190.13451290.14380359)
Major Version Number=100
Minor Version Number=23
1.2.840.113549.1.9.15: Flags = 0, Length = 37
SMIME Capabilities
[1]SMIME Capability
Object ID=1.2.840.113549.3.2
Parameters=02 02 00 80
[2]SMIME Capability
Object ID=1.2.840.113549.3.4
Parameters=02 02 00 80
[3]SMIME Capability
Object ID=1.3.14.3.2.7
[4]SMIME Capability
Object ID=1.2.840.113549.3.7
2.5.29.14: Flags = 0, Length = 16
Subject Key Identifier
52 2c 79 8e d3 e4 0c 58 df 4f ba 1d 0c 76 c1 89 a2 88 27 f3
2.5.29.35: Flags = 0, Length = 18
Authority Key Identifier
KeyID=5e a4 4c 5a 81 9e 5f 72 11 df d1 0c 55 51 82 92 ec 35 fb 35
2.5.29.31: Flags = 0, Length = 112
CRL Distribution Points
[1]CRL Distribution Point
Distribution Point Name:
Full Name:
URL=ldap:///CN=EH-IS-SubCA06,CN=I0262,CN=CDP,CN=P
ublic%20Key%20Services,CN=Services,CN=Configuration,DC=xxx,DC=xxx?certificat
eRevocationList?base?objectClass=cRLDistributionPoint
URL=http://p1.xxx.xx.x/CertEnroll/x-
x-xxx.crl
1.3.6.1.5.5.7.1.1: Flags = 0, Length = 167
Authority Information Access
[1]Authority Info Access
Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
Alternative Name:
URL=ldap:///CN=22-22-"ub2CA06,CN=AIA,CN=Public%20Key%20Services
,CN=Services,CN=Configuration,DC=xx,DC=xx?cACertificate?base?objectClass=c
ertificationAuthority
[2]Authority Info Access
Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
Alternative Name:
URL=http://p1.yyy.exxxx.xx/CertEnroll/I2.xxx.xxx_X-xx-xx06(1).crt
[3]Authority Info Access
Access Method=On-line Certificate Status Protocol (1.3.6.1.5.5.7.48
.1)
Alternative Name:
URL=http://xx.xxx/OCSP
2.5.29.37: Flags = 0, Length = e
Enhanced Key Usage
Encrypting File System (1.3.6.1.4.1.311.10.3.4)
1.3.6.1.4.1.311.21.10: Flags = 0, Length = 10
Application Policies
[1]Application Certificate Policy:
Policy Identifier=Encrypting File System
Signature Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.5 sha1RSA
Algorithm Parameters:
05 00
Signature: UnusedBits=0
0000 17 5f 8f 6f fb cc 1f ed d2 3d 85 fb 3f 3f fe aa
0010 59 fc d9 f3 20 80 a2 99 7f cf 4c db 6b a6 01 da
0020 be f2 57 45 13 43 ee 38 12 31 10 84 27 50 bc 10
0030 e4 78 b2 8d 8e 5b 15 11 db 91 14 af 92 53 4a 49
0040 94 33 ff 6f bd 67 ec 5e 19 c3 3c 71 be ea 3c 6c
0050 99 04 d2 2f b1 42 9a a8 07 dc d4 41 8d d7 d8 25
0060 98 d1 57 d6 30 cd f6 5c 8a 8f 6f 03 f5 f0 8a 47
0070 cb 24 cd 01 8c d6 ee 00 51 ca 0a e4 d8 46 06 7f
0080 2a 5a 9d 2f 54 a8 2b 53 e2 91 22 fb a8 9c 1a d6
0090 71 b0 cb 3e 78 12 75 06 04 f3 a9 14 0c 9a 4b 92
00a0 4c 98 25 8c f4 52 5c 3a cc ce 23 10 65 6f d4 c6
00b0 f0 e2 0a 88 0d 39 a2 29 fd bc bd b6 9a 87 7b 28
00c0 91 8f b1 55 fb 7c 9f a1 ae d2 f8 3a f7 00 a1 9e
00d0 3c b6 48 82 5f 7c ee 62 33 7b 24 a5 19 5a 9d fd
00e0 95 17 39 b4 d4 11 e3 f3 a9 e1 6d 74 f1 43 54 1e
00f0 64 f1 5b 79 ed 8c 51 02 95 ef 2e 91 b9 6f 0a 7a
0100 74 82 47 a2 24 d1 e1 57 94 c9 68 3c b1 bc d3 f2
0110 3e 5c 07 0d 79 07 7c 69 94 a6 b5 39 4c 3c 82 0c
0120 79 44 99 82 83 2c 1e db 2b e1 eb f3 97 d4 2d 48
0130 9a 90 31 f9 36 67 09 da dd 21 c5 27 2c 44 2c d4
0140 56 0b 48 81 fe 84 e8 03 ce ca d0 4d 9e 62 9a 93
0150 99 9c bf 4e ad f2 0d 93 48 85 14 36 af 8d cc 21
0160 25 9b 61 e2 5a 8d 9e 4e 97 7f fd 93 ba 46 9e eb
0170 15 72 72 eb 28 45 94 de a1 0b 85 1d 3c 71 e8 86
0180 44 94 04 94 a7 b3 c5 41 b9 dd 51 54 c1 d1 b5 24
0190 bf 59 c0 98 31 d0 b8 34 a0 4d 2b a8 3d ce cd 4b
01a0 e9 86 f6 e2 2b 60 3d ac 60 43 35 fc 2b 86 e7 cb
01b0 91 87 2c 15 5f 9d c7 9a c6 3d 91 01 fc 3d 13 73
01c0 fd 1e d1 55 82 2b 16 aa d1 7e 5f 4b dc 29 ec cf
01d0 a7 23 fa dc 27 1e 2f 20 d2 97 ae 93 0b e0 e0 b6
01e0 29 0c 4f ea 8e 11 3e 62 33 46 f0 23 0a d0 81 35
01f0 8f 44 84 21 7f e3 8a f4 1b cc 14 89 e0 d7 2f 32
Non-root Certificate
Key Id Hash(rfc-sha1): 52 2c 79 8e d3 e4 0c 58 df 4f ba 1d 0c 76 c1 89 a2 88 27
f3
Key Id Hash(sha1): 10 9f 09 50 f5 c3 a7 53 56 06 a6 3e 53 36 f7 43 73 b0 95 b1
Cert Hash(md5): f6 71 ab e9 95 f1 52 64 44 62 fa c3 a8 de aa e0
Cert Hash(sha1): ff 61 a6 50 54 14 11 18 f6 07 e9 87 37 e7 73 69 01 24 61 e1
CERT_REQUEST_ORIGINATOR_PROP_ID(71):
xx
CERT_KEY_PROV_INFO_PROP_ID(2):
Key Container = da33396cc3c8be0393c6b28319154d0d_6c1f1b0e-0154-42d1-8f4c-797
aa92d6c18
Simple container name: le-52d9e895-3eca-4007-b1a9-3e28be69f495
Provider = Microsoft Enhanced Cryptographic Provider v1.0
ProviderType = 1
Flags = 0
KeySpec = 1 -- AT_KEYEXCHANGE
CERT_OCSP_CACHE_PREFIX_PROP_ID(75):
0390F14B03B36A980029A24062F1FEAC_
CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID(24):
fa b2 41 77 ec 9f 45 45 6c 46 24 84 ea f4 9a 2a
Unknown Property(92):
00 08 00 00 ....
CERT_KEY_IDENTIFIER_PROP_ID(20):
52 2c 79 8e d3 e4 0c 58 df 4f ba 1d 0c 76 c1 89 a2 88 27 f3
CERT_SIGNATURE_HASH_PROP_ID(15) disallowedHash:
06 2b ce 3e d7 f1 9c f5 ed f0 bf a9 08 12 2c d1 6a 0a 36 5b
CERT_MD5_HASH_PROP_ID(4):
f6 71 ab e9 95 f1 52 64 44 62 fa c3 a8 de aa e0
CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID(25):
49 07 70 50 a0 fd bd 59 b2 2c f4 6e df 25 9f 92
CERT_SHA1_HASH_PROP_ID(3):
ff 61 a6 50 54 14 11 18 f6 07 e9 87 37 e7 73 69 01 24 61 e1
Simple container name: le-52d9e895-3eca-4007-b1a9-3e28be69f495
PP_KEYSTORAGE = 1
CRYPT_SEC_DESCR -- 1
KP_PERMISSIONS = 3f (63)
CRYPT_ENCRYPT -- 1
CRYPT_DECRYPT -- 2
CRYPT_EXPORT -- 4
CRYPT_READ -- 8
CRYPT_WRITE -- 10 (16)
CRYPT_MAC -- 20 (32)
D:(A;ID;GAGR;;;SY)(A;ID;GAGR;;;BA)(A;ID;GAGR;;;S-1-5-21-1576947349-221413208-1
89349994-23600)
Allow Full Control NT AUTHORITY\SYSTEM
Allow Full Control BUILTIN\Administrators
Allow Full Control xx\xx5
Private Key:
PRIVATEKEYBLOB
Version: 2
aiKeyAlg: 0xa400
CALG_RSA_KEYX
Algorithm Class: 0xa000(5) ALG_CLASS_KEY_EXCHANGE
Algorithm Type: 0x400(2) ALG_TYPE_RSA
Algorithm Sub-id: 0x0(0) ALG_SID_RSA_ANY
0000 52 53 41 32 RSA2
0000 ...
048c
Encryption test passed
CertUtil: -store command completed successfully.
Hallo Zusammen,
ich bin gerade irgendwie verplant und bekomme es einfach nicht hin eine DOS Ausgabe in ein Array zu schreiben. Ziel ist es die Userzertifikate auszulesen und in ein Array zu schreiben.
Vielleicht erkennt jemand von euch den Fehler...
[autoit]
#include <Array.au3>
Global $aCertificate = _GetCertificate('certutil -v -store -user My')
_ArrayDisplay($aCertificate)
MsgBox(0, "Test", @error)
;######################################
;DOS Programm
;######################################
Func _GetCertificate($command)
Local $iPid = Run('"' & @ComSpec & '" /c ' & $command, '', @SW_HIDE, 2 + 4), $sOutput = "", $aData
Do
Sleep(20)
$sOutput &= StdoutRead($iPid, False, False)
Until @error
$aData = StringSplit($sOutput, @LF)
If $aData[0] <> 3 Then Return SetError(1)
$aName = StringRegExp($aData[1], '"([^"]*)"\,', 3)
$aValue = StringRegExp($aData[2], '"([^"]*)"\,', 3)
If UBound($aName) <> UBound($aValue) Then Return SetError(2)
Local $aReturn[UBound($aName)][2]
For $i = 0 To UBound($aName)-1
$aReturn[$i][0] = $aName[$i]
$aReturn[$i][1] = $aValue[$i]
Next
Return $aReturn
EndFunc ;==>_GetCertificate
Ok danke.
Ich konnte den ersten Part jetzt doch über das ControlClick lösen.
Die Lösung für mich war relativ einfach. Ich erstelle mit _IECreate ja die Website. Danach kommt direkt die Meldung. Somit schliesst aber der _IECreate den Prozess noch nicht richtig ab und somit hing das Programm immer an dieser Stelle ewig. Ich habe jetzt die Option von _IECreate "$f_wait" auf "0" gesetzt und mein Script läuft dann auch weiter und verwendet den ControlClick.
Das Problem ist das die Website scheinbar nicht komplett lädt bevor man "Yes" drückt was dann in einer Schleife endete.
Hallo Zusammen,
ich bin gerade dabei ein Script zu schreiben zur Erstellung eines Zertifikats einer MS AD.
Mein Problem ist folgendes. Während ich die IE.au3 verwendet wird nicht auf ein WinWait bzw. ControlClick reagiert. Genau nachdem ich den Link in einem IE geöffnet habe erscheint eine Meldung. Diese Muss mit "Yes" Bestätigt werden. Im angehängten Screenshot mal die Windowinfo.
Wenn ich die Meldung direkt per "Hand" bestätige funktioniert der Rest auch wie gewünscht. Ich habe auch bereits von aufrufen des Link ein Script geschrieben was im Hintergrund läuft und auf das Fenster wartet und es dann bestätigt. Das funktioniert, allerdings finde ich das sehr "unsauber"
Leider komme ich deshalb nicht weiter...
#include <IE.au3>
;Username überprüfen
$WMI = ObjGet("WinMgmts:root/cimv2")
$colQuery1 = $WMI.ExecQuery("Select UserName FROM Win32_ComputerSystem")
For $item In $colQuery1
$ID = $item.UserName
Next
$colQuery2 = $WMI.ExecQuery("Select * FROM Win32_NetworkLoginProfile")
For $object In $colQuery2
If $object.Name = $ID Then ;MsgBox(0, "", $object.Fullname)
$Name = $object.Fullname
EndIf
Next
;Umwandeln des Names in Mailadresse
Local $fname = StringSplit($Name, " ")
$Mailname = $fname[1] & "." & $fname[2]
$Mailname = StringLower($Mailname)
$Mailadresse = $Mailname & "@blablubb.com"
$IE = _IECreate("https://blablubb/certsrv/certrqma.asp")
sleep(1000)
WinWait("Web Access Confirmation")
ControlClick("Web Access Confirmation", "&Yes", "Button1")
;Certificate Template wählen und ändern
$oDropdown = _IEGetObjByName ($IE, "lbCertTemplateID")
_IEFormElementOptionSelect($oDropdown, "PFX EH Utimaco 2048", 1, "byText")
sleep(500)
;Name eintragen
$oName = _IEGetObjByName($IE, "tbCommonName")
_IEFormElementSetValue ($oName, $Name)
;Mail eintragen
$oName = _IEGetObjByName($IE, "tbEmail")
_IEFormElementSetValue ($oName, $Mailadresse)
;Submit drücken
$Button = _IEGetObjByName ($IE, "btnSubmit")
_IEAction($Button,"click")
sleep(1000)
;_IEAction($IE, "visible") ; Setzt den IE auf Sichtbar
sleep(5000)
;_IEQuit($IE)
Exit
Ich bin um Ratschläge dankbar.
Grüße
Sorry,
aber solche Beiträge kannst du dir auch sparen. Ich kann Scite nicht überall installieren.
Hi,
danke für den Tipp. Allerdings erstellt der mir das irgendwie nicht... Es liegt keine Datei im Output-Folder und auch nicht um Input.
Hab ich einen Einstellung verplant?
Hallo Zusammen,
ich habe ein Script geschrieben um gewisse Daten aus einem Computer auszulesen. Hintergrund ist der, das wir gerne eine Art Audit über Reboots etc machen.
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: ****
Script Function:
Dieses Script scannt den aktuellen PC und speichert diese Infos in ein Textfile auf dem Server.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit];######################################
;Includes
;######################################
#include <_NTServices.au3>
#include <file.au3>
#include <Array.au3>
#include <_MultiDateToNorm.au3>
;######################################
;Variablen
;######################################
;Definition Pfade
Global $sauditpath
;Definition Infos
Global $sSophosUpdaterVersion, $sSophosVersion, $sFirewallstatus, $iAdminrights, $sAdminrights, $sScantime, $sScandate, $sAdmingroup, $i, $sUpdateDate, $sSystemBootTime,$sRebootDateSplit, $sRebootDate
Global $Name
Global $aSysteminfo = _GetSystemInfo()
Global $Members = _LocalGroupMembers("Administrators")
;Pfade
$sauditpath = "\\echreipcpc0177\Audit$" & @ComputerName
;Ini
$sInisave = $sauditpath & "\all.ini"
;Ist ein User angemeldet?
$loggegInUser = LoggedOnUser()
If $loggegInUser = 0 Then
Exit
EndIf
;Ablauf
_Adminrights ()
_LastUpdates ()
_ScannedOn ()
_SophosRead ()
_CheckService ()
_IniWrite ()
_Exit ()
;######################################
;DOS Programm
;######################################
Func _GetSystemInfo()
Local $iPid = Run(@ComSpec & ' /c systeminfo /FO CSV', @ScriptDir, @SW_HIDE, 2 + 4), $sOutput = "", $aData
Do
Sleep(20)
$sOutput &= StdoutRead($iPid, False, False)
Until @error
$aData = StringSplit($sOutput, @LF)
If $aData[0] <> 3 Then Return SetError(1)
$aName = StringRegExp($aData[1], '"([^"]*)"\,', 3)
$aValue = StringRegExp($aData[2], '"([^"]*)"\,', 3)
If UBound($aName) <> UBound($aValue) Then Return SetError(2)
Local $aReturn[UBound($aName)][2]
For $i = 0 To UBound($aName)-1
$aReturn[$i][0] = $aName[$i]
$aReturn[$i][1] = $aValue[$i]
Next
Return $aReturn
EndFunc ;==>_GetSystemInfo
;######################################
;Mitglieder der Administratorgruppe
;######################################
Func _LocalGroupMembers($sGroup)
;funkey 03.12.2009
Local $line, $aMembers
Local $cmd = "net localgroup "& $sGroup
Local $Pid = Run(@ComSpec & " /c " & $cmd, "", @SW_HIDE, 2)
While 1
$line &= StdoutRead($Pid)
If @error Then ExitLoop
Wend
$aMembers = StringSplit(StringTrimLeft($line, StringInStr($line, "-----", 0, -1) + 6), @CRLF, 3)
ReDim $aMembers[UBound($aMembers) - 3]
Return $aMembers
EndFunc
;######################################
;Überprüfen ob jemand angemeldet ist
;######################################
Func LoggedOnUser()
$PID = ProcessExists("explorer.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then
return 1
Else
return 0
EndIf
EndFunc
;######################################
;Benutzername und Adminrechte auslesen
;######################################
Func _Adminrights ()
$iAdminrights = IsAdmin()
If $iAdminrights = "1" Then
$sAdminrights = "ja"
Else
$sAdminrights = "nein"
EndIf
$WMI = ObjGet("WinMgmts:root/cimv2")
$colQuery1 = $WMI.ExecQuery("Select UserName FROM Win32_ComputerSystem")
For $item In $colQuery1
$ID = $item.UserName
Next
$colQuery2 = $WMI.ExecQuery("Select * FROM Win32_NetworkLoginProfile")
For $object In $colQuery2
If $object.Name = $ID Then
$Name = $object.Fullname
EndIf
Next
;Herausfiltern von Administrator
For $i = 0 To UBound($Members) -1
If $Members[$i] = "Administrator" Then
$Members[$i] = ""
ElseIf $Members[$i] = "Domain\Domain Admins" Then
$Members[$i] = ""
EndIf
Next
For $i = Ubound($Members) - 1 To 0 Step -1
If $Members[$i] = "" Then
_ArrayDelete($Members, $i)
EndIf
Next
$sAdmingroup = _ArrayToString($Members, ", ")
EndFunc
;######################################
;Last Update
;######################################
Func _LastUpdates ()
$sUpdateDate = RegRead("HKLM64\SOFTWARE\MATRIX42\**********Client\15.1\Setup", "Date")
EndFunc
;######################################
;Scanned on
;######################################
Func _ScannedOn ()
$sScandate = @MDAY & "." & @MON & "." & @YEAR
$sScantime = @HOUR & ":" & @MIN
EndFunc
;######################################
;Sophos auslesen
;######################################
Func _SophosRead ()
$sSophosUpdaterVersion = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{15C418EB-7675-42be-B2B3-281952DA014D}", "DisplayVersion")
If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{4320988A-7DE0-478D-A38B-CE9509BCE320}", "DisplayVersion") = "" Then
$sSophosVersion = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{9ACB414D-9347-40B6-A453-5EFB2DB59DFA}", "DisplayVersion")
Else
$sSophosVersion = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{4320988A-7DE0-478D-A38B-CE9509BCE320}", "DisplayVersion")
EndIf
EndFunc
;######################################
;Services überprüfen
;######################################
Func _CheckService ()
$sFirewallstatus = _ServiceStatus("MpsSvc")
EndFunc
;######################################
;Ini schreiben
;######################################
Func _IniWrite ()
;Ordner erstellen
If DirCreate($sauditpath) = 0 Then
Exit
EndIf
If IniWrite($sInisave, "Netzwerktest", "Netzwerktest", "erreichbar") = 0 Then
$sInisave = @TempDir & "Audit.ini"
EndIf
For $i = 0 To 30
IniWrite($sInisave, "Systeminfo", $aSysteminfo[$i][0], $aSysteminfo[$i][1])
Next
IniWrite($sInisave, "User", "Adminrights", $sAdminrights)
IniWrite($sInisave, "User", "User-ID", @UserName)
IniWrite($sInisave, "User", "Displayname", $Name)
IniWrite($sInisave, "User", "Admingroup", $sAdmingroup)
IniWrite($sInisave, "Systeminfo", "Last Update", $sUpdateDate)
IniWrite($sInisave, "Systeminfo", "Scanned Date", $sScandate)
IniWrite($sInisave, "Systeminfo", "Scanned Time", $sScantime)
IniWrite($sInisave, "Sophos", "SophosVersion", $sSophosVersion)
IniWrite($sInisave, "Sophos", "SophosUpdaterVersion", $sSophosUpdaterVersion)
IniWrite($sInisave, "Service", "firewall", $sFirewallstatus)
$sSystemBootTime = IniRead($sInisave, "Systeminfo", "System Boot Time", "0")
$sRebootDateSplit = StringSplit($sSystemBootTime, ",")
$sRebootDate = _MultiDateToNorm($sRebootDateSplit[1])
IniWrite($sInisave, "Systeminfo", "System Boot Time", $sRebootDate)
EndFunc
;######################################
;Exit
;######################################
Func _Exit ()
Exit
EndFunc
Mein Problem ist das ich von ca. 160 gescannten PC's Stk eine Fehlermeldung bekommen.
"Line 2165 (File XYZ)
Error: Variable used without beeing declared.
Ich würde diesen Fehler gerne abfangen/unterdrücken und ggf. lokal dokumentieren. Mit dieser Meldung kann ich nämlich nichts anfangen. Wäre echt cool wenn mir jemand helfen könnte.
Da es sich hierbei um einheitliche und einfache Werte handelt würde ich evtl. "IniRead" und "IniWrite" verwenden.
[autoit]
$sIniFile = "C:\Werte.ini"
$sA1 = IniRead($sIniFile, "Main", "A1", "kein Wert vorhanden")
MsgBox(0, "Ergebnis", $sA1)
Viele Grüsse
Du brauchst ja das Setup nicht komplett durchlaufen. Es reicht wenn die erste Seite kommt. Da befindet sich z.b. die MSI schon im Temp. Andernfalls könntest du anhand des Fensters ein copy starten.
[autoit]
$sFenster = Installation
While WinActive($sFenster) = 1
...
WEnd
Hm,
wieso veränderst du nicht einfach die Variable das alle Tempfiles automatisch dort laden?
Findest du unter Start -> Rechtklick Computer -> Eigenschaften -> Erweiterte Systemeinstellungen -> Variablen
Ich weiss nicht genau wofür du die Dateien auf dem Temp-Verzeichnis brauchst. Aber in der Regel ist es meistens so, das sobald du die Installation (bsp. Setup.exe) startest sind die gewünschten Files (evtl. *.msi) schon im Temp-Verzeichnis.
wenn es gelöst ist editiere doch bitte deinen ersten Beitrag und stelle es von "offen" auf "gelöst".
Danke!
Hast du auch mal
[autoit]
ControlClick( "Canon", "Epp", "Button9")
probiert?
Hier ein Beispiel für dein zweites Fenster:
[autoit]
ControlClick("Canon MP Navigator EX - MX870 series", "", "ctiCommandButton15")
Ich nehme an bei dir geht es hier um die UAC (User Access Control)??
Wenn es darum geht...
Schalte sie ab
oder
Starte das AutoIt Script mit Adminrechten. Dann kommt der Dialog nur zu Beginn der Installation.
Fang doch mal ganz einfach an.
Also als erstes minimierst du das Fenster manuell.
Danach rufst du in Autoit nur den Befehlt
[autoit]WinActivate ("[Class:#32770]")
[/autoit]auf. Du brauchst die Felder die in der Hilfe als Optional gekennzeichnet sind auch nicht zwingend rein machen. Das dient der Übersichtlichkeit.
Danach solltest du Schritt für Schritt machen.
Probier den Controlclick mal so:
[autoit]
ControlClick( "[Class:#32770]", "Epp", "Button9")
Dann tag das Thema doch bitte auch als "gelöst"
Einfach den ersten deiner Posts editieren und auf "gelöst" umstellen.
Danke
Hi Bowser,
wenn du das mit den "Exit" dürchläufst und es da funktioniert liegt es vermutlich am sleep. Und wenn du dein Programm damit vollkleistern willst kannst du das wie oben gesagt über eine Schleife machen.
Ein:
[autoit]For $i = 1 To 12
Send("{TAB}")
sleep(200)
Next
Ist nicht das gleiche wie
Send("{TAB 12}")
[/autoit]PS: Und wieso nochmal verwendest du nicht ControlSend?
Gruss AyKay
Hi,
das mit den "send" Befehlen ist immer so eine Sache. Am besten probierst du alle "Send" Befehle in "ControlSend" umzuwandeln da muss das Fenster dann nicht durchgehend aktiv sein und trotzdem werden die Commands an das richtige Fenster geschickt. Des Weiteren empfehle ich für die Übersichtlichkeit mehrfacheingaben hintereinander zu verhindern. Du kannst als Beispiel auch {RIGHT 5} eingeben.
Ich finde deine Befehle ein bisschen merkwürdig (kann aber auch sein weil ich relativ neu bin). Du arbeitest mit Klammern? Und ich weis aus C++ muss man Else-befehle der entsprechenden If Anweisung auch richtig zuweisen.
Zudem habe ich die Erfahrung gemacht das wenn man ein Fenster aktiviert besser ein sleep einbaut.
Grüsse
AyKay