Jump to content

itomix

Members
  • Gesamte Inhalte

    44
  • Registriert seit

  • Letzter Besuch

Über itomix

  • Geburtstag 06.05.1975

Profile Fields

  • Member Title
    Newbie

Fortschritt von itomix

Enthusiast

Enthusiast (6/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

10

Reputation in der Community

  1. Dankeschön ;o) ich werde es gleich mal ausprobieren ;o) Gruß Tom
  2. Hallo zusammen, ich habe ein kleines Problem und würde das gerne mal posten eventuell kennt jemand dazu ja eine Lösung. Ich möchte gerne alle DNS-Adressen eines Systems auslesen und in folgenden Format in eine Excel Zelle eintragen. 192.168.0.1; 192.168.0.2; 192.168.0.3 Ich würde mich echt freuen wenn jemand dazu ein Lösung hat Gruß Tom strComputer = "." DIM intRow SET objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Add SET objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") SET IPConfigSet = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE") intRow = 2 objExcel.Visible = True objExcel.Range("A:A").ColumnWidth = 10 objExcel.Cells(1, 1).Value = "DNS-Address" FOR EACH IPConfig IN IPConfigSet IF NOT IsNull(IPConfig.DNSServerSearchOrder) THEN FOR i = 0 TO UBound(IPConfig.DNSServerSearchOrder) objExcel.Cells(intRow, 1).Value = IPConfig.DNSServerSearchOrder(i) 'wscript.echo IPConfig.DNSServerSearchOrder(i) NEXT END IF NEXT
  3. Ein VBS Datei mit einen Domänen Zertifikat (Codesignierung) signieren Hallo zusammen, ich habe folgendes Problem und finde leider kein ordentliches "HowTo" oder "Step by Step" Anleitung zur signierung von VBS Dateien in einer Windows Server 2003 Ent. Domänen. Was wurde bereits gemacht : Install Windows Server 2003 = done Install Zertifizierungsstelle = done Anpassung der Gruppenrichtlinien = done Erstellung eines Zertifikate zur Clientauthenfizierung = done Ausrollen der Zertifikate über die Gruppenrichtlinie = done Erstellung eines Zertifikat zur Codesignierung mit den Namen ContosoVBS = done Jedoch bekomme ich beim signieren der VBS Datei mit den Beispiel Skript von Microsoft 'Signed.vbs set objSigner = WScript.CreateObject("Scripting.Signer") objSigner.SignFile "C:\Test.vbs", "ContosoVBS" immer wieder folgenden Fehler: C:\Signed.vbs(2, 1) (null): Das Zertifikat und der private Schlüssel für die Entschlüsselung wurden nicht gefunden Das Zertifikat dafür befinde sich aber unter Eigene Zertifiakte aber ohne ein richtiges HowTo dazu komme ich irgendwie nicht richtig weiter ;o( Mit den Programm "SELFCERT.EXE" funktioniert es aber ich möchte Zertifikate mit einen längeren Zeitraum vergeben als nur ein 1 Jahr Es währe echt schön wenn jemand von euch eine gute "Step by Step" Anleitung dazu hätte. Gruß Tom Del Greco
  4. Hi NilsK, schön das jemand Antwortet ;o) Aber ich habe dieses Skript gepostet damit man nicht umbending auf eine EXE zurückgreifen muss da diese a) recht statisch ist und man nie weiß was diese EXEC sonst noch so macht ;o) Gruß Tom
  5. Hallo zusammen, da ich schon mehrmals gefragt wurde ob es ein Skript gibt was eine bestimmtes Ergeignis finden und diese per Email versendet, habe ich hierzu mal ein kleines Skript geschrieben. Da es sich ausschliesslich um Funktionen handelt könnt Ihr den Quellcode sehr einfach in eure Skripte einbinden Gruß Tom Del Greco '________________________________________________' ' ' ' WatchEvents' ' Create for Windows XP/2000/2003' ' from T. Del Greco 27.10.2008' '________________________________________________' On Error Resume Next FUNCTION SearchEventLog(strEventCode, strLogFile, strSourceName) CONST CONVERT_TO_LOCAL_TIME = True Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime") Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime") strDateNow = DateSerial(Year(Now()),Month(Now()),Day(Now())) DateToCheck = CDate(strDateNow) dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colEvents = objWMIService.ExecQuery ( "Select * from Win32_NTLogEvent Where " _ & "Logfile = '" & strLogFile & "' and EventCode = '"& strEventcode & "'" _ & "and SourceName = '" & strSourceName & "'" _ & "and TimeWritten >= '" & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") IF colEvents.Count >= 1 THEN FOR EACH objEvent IN colEvents strEventCode = objEvent.EventCode strEventMessage = objEvent.Message NEXT CALL SendMail(strEventCode,strEventMessage) ELSE WScript.Echo "Alles OK" END IF END FUNCTION FUNCTION HostN() strComputer ="." CONST wbemFlagReturnImmediately = &h10 CONST wbemFlagForwardOnly = &h20 DIM a Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colPC = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) FOR EACH objItem IN colPC a = objItem.Name NEXT HostN=a END FUNCTION FUNCTION SendMail(strEventCode,strEventMessage) strSMTP = "smtp.contoso.com" strDate = formatDateTime(Now(), vbLongDate) strTime = formatDateTime(Now(), vbLongTime) Set objEmail = CreateObject("CDO.Message") objEmail.From = "BigBrother@" & HostN() & ".osite.de" objEmail.To = "administrator@contoso.com" objEmail.CC = "bigbrother@contoso.com" objEmail.Subject = "[EVENTLOG : ERROR] - " & HostN objEmail.TextBody = objEmail.TextBody & vbCRLF & String(46, "_") & vbCRLF objEmail.TextBody = objEmail.TextBody & vbCRLF objEmail.TextBody = objEmail.TextBody & " BigBrother / contoso.local" objEmail.TextBody = objEmail.TextBody & vbCRLF & String(46, "_") & vbCRLF objEmail.TextBody = objEmail.TextBody & vbCRLF & "Host : " & HostN objEmail.TextBody = objEmail.TextBody & vbCRLF & "Date : "& strDate & " " & strTime & vbCRLF objEmail.TextBody = objEmail.TextBody & vbCRLF & "Event Code : " & strEventCode objEmail.TextBody = objEmail.TextBody & vbCRLF & "Event Message : " & strEventMessage objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send END FUNCTION CALL SearchEventLog("100","System","TEST")
  6. Hi doeme, man über einen UNIC Pfad keine NTFS Berechtigungen setzen! wenn du Administrator dieses Rechners bist dan mounte dir das Volumen mit einen Laufwerksbuchstaben ein und es funktioniert. net use x: \\chrana01\rootdata$\%USERNAME%\ShellFolder\Application Data\Microsoft\Signatures\ XCacls.vbs /E /D x:\ra_reg\%USERNAME%:W /DEBUG net use x: /d Gruß Tom
  7. Hi, um eine genaue Übersicht aller Provider zu erhalten empfehle ich das kostenlose Toll WMI CIM Studio was man frei bei Microsoft herrunterladen kann Download details: WMI Administrative Tools Gruß Tom Del Greco
  8. Hallo liebe VBS Programmierer, für alle die etwas mehr WSH-Sicherheit möchten, habe ich mal ein kleines VB Skript geschrieben! Gruß Tom Del Greco '___________________________________________ ' ' WSH Signed Scripts ' Create for Windows 2000/XP/2003 ' ' from Tom Del Greco 15.12.07 ' last change: ' '___________________________________________ ' ' Mit dieses kleinen Skripte koennen die Ausführ- ' eigenschaften von VB-Skripten auf einen ' Windows 2000/2003/XP gesteuert werden. ' ACHTUNG : Wenn das Argument "/cert" ausgeführt ' wird, können keine Skripte ausgeführt werden ' die kein Zertifikat vom Betriebsystem erhalten ' haben. Sollte es dennoch vorkommen das man diese ' Option, ohne Zertifikat ausgeführt hat, kann man ' den Registry DWORD Einträge von Hand wieder auf ' NULL (0) zurück setzen! On Error Resume Next Function WSHSec(DWORD_Value) ' dwValue 0 /runall Alle Skripte werden ausgefuehrt. ' ' dwValue 1 /usermode Der Benutzer entscheidet, ob unsignierte ' Skripte ausgefuehrt werden sollen. ' ' dwValue 2 /cert Nur signierte Skripte werden ausgefuehrt. ' Const HKEY_CURRENT_USER = &H80000001 Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows Script Host\Settings" strDWORD = "TrustPolicy" strString = "UseWINSAFER" String_Value = "0" 'HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strDWORD,DWORD_Value oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strString,String_Value 'HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strDWORD,DWORD_Value End Function Sub strRunAll Dim Answer Set objShell=WScript.CreateObject("WScript.Shell") Answer = objShell.Popup("WSH Sicherheit deaktivieren?",1+64,"Warnung",1+64) If Answer = vbOk Then CALL WSHSec(0) End If End Sub Sub strCert Dim Answer Set objShell=WScript.CreateObject("WScript.Shell") Answer = objShell.Popup("Alle VB-Skript koennen nur noch mit einen gueltigen " & vbCrLf & _ "Zertifikat ausgefuehrt werden, wollen Sie diese" & vbCrLf & _ "Einstellung in der Registry wirklich uebernehmen?" ,1+64,"Warnung",1+64) If Answer = vbOk Then CALL WSHSec(2) End If End Sub Sub Help WScript.Echo "" WScript.Echo " Create by Tom Del Greco '2007" WScript.Echo "" WScript.Echo " vcert.vbs [/?] [/cert] [/usermode] [/runall]" WScript.Echo "" WScript.Echo " /? - Help" WScript.Echo " /cert - WSH-Skripte werden nur mit einen gültigen Zertifikat ausgeführt!" WScript.Echo " /usermode - Der Benutzer wird aufgefordert ob WSH-Skripte ausgeführt werden!" WScript.Echo " /runall - Alle WSH-Skripte werden ohne Aufforderung ausgeführt!" WScript.Echo "" WScript.Quit End Sub iNumber = Wscript.Arguments.Count If (WScript.Arguments.Count -1) OR (WScript.Arguments.Count > 1) Then CALL Help End If If (WScript.Arguments.Named.Exists("?")) AND iNumber = 1 Then CALL Help End If If (WScript.Arguments.Named.Exists("cert")) AND iNumber = 1 Then CALL strCert WScript.Quit End If If (WScript.Arguments.Named.Exists("usermode")) AND iNumber = 1 Then CALL WSHSec(1) WScript.Quit End If If (WScript.Arguments.Named.Exists("runall")) AND iNumber = 1 Then Call strRunAll WScript.Quit End If On Error Goto 0
  9. Hi flibbi, für das auslesen der des Hostname und der IP -Addresse habe ich Dir mal ein kleines Beispiel geskriptet ;o) *grins* Viel Spaß damit Tom ReadHostandIP.vbs On Error Resume Next Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 strComputer ="." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Function HostN() Dim a Set colPC = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colPC a = objItem.Name Next HostN=a End function Set objfs = CreateObject("Scripting.FileSystemObject") Set objstream = objfs.CreateTextFile(HostN+".TXT") For Each objItem In colPC objstream.WriteLine "_____________________________________________" objstream.WriteLine " " objstream.WriteLine " Computer: " & HostN objstream.WriteLine "_____________________________________________" Next For Each strComputer In arrComputers Set colAdapters = objWMIService.ExecQuery _ ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") n = 1 objstream.WriteLine For Each objAdapter in colAdapters objstream.WriteLine "Network Adapter " & n objstream.WriteLine "-----------------" objstream.WriteLine objstream.WriteLine "Description : " & objAdapter.Description objstream.WriteLine 'objstream.WriteLine "Host name : " & objAdapter.DNSHostName If Not IsNull(objAdapter.IPAddress) Then For i = 0 To UBound(objAdapter.IPAddress) objstream.WriteLine "IP address : " & objAdapter.IPAddress(i) Next End If If Not IsNull(objAdapter.IPSubnet) Then For i = 0 To UBound(objAdapter.IPSubnet) objstream.WriteLine "Subnet : " & objAdapter.IPSubnet(i) Next End If If Not IsNull(objAdapter.DefaultIPGateway) Then For i = 0 To UBound(objAdapter.DefaultIPGateway) objstream.WriteLine "Default gateway : " & _ objAdapter.DefaultIPGateway(i) Next End If 'objstream.WriteLine "DNS Servers : " If Not IsNull(objAdapter.DNSServerSearchOrder) Then For i = 0 To UBound(objAdapter.DNSServerSearchOrder) objstream.WriteLine "DNS Servers : " & objAdapter.DNSServerSearchOrder(i) Next End If objstream.WriteLine "DNS domain : " & objAdapter.DNSDomain If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder) objstream.WriteLine "DNS suffix search list : " & _ objAdapter.DNSDomainSuffixSearchOrder(i) Next End If objstream.WriteLine "MAC Address : " & objAdapter.MACAddress objstream.WriteLine IF objAdapter.DHCPEnabled = "Falsch" Then objstream.WriteLine "DHCP enabled : No" ELSE objstream.WriteLine "DHCP enabled : Yes" End If 'objstream.WriteLine "DHCP enabled : " & objAdapter.DHCPEnabled objstream.WriteLine "DHCP server : " & objAdapter.DHCPServer If Not IsNull(objAdapter.DHCPLeaseObtained) Then utcLeaseObtained = objAdapter.DHCPLeaseObtained strLeaseObtained = WMIDateStringToDate(utcLeaseObtained) Else strLeaseObtained = "" End If objstream.WriteLine "DHCP lease obtained : " & strLeaseObtained If Not IsNull(objAdapter.DHCPLeaseExpires) Then utcLeaseExpires = objAdapter.DHCPLeaseExpires strLeaseExpires = WMIDateStringToDate(utcLeaseExpires) Else strLeaseExpires = "" End If objstream.WriteLine "DHCP lease expires : " & strLeaseExpires objstream.WriteLine "Primary WINS server : " & objAdapter.WINSPrimaryServer objstream.WriteLine "Secondary WINS server : " & objAdapter.WINSSecondaryServer n = n + 1 Next Next objstream.close
  10. Hallo zusammen vor ein paar Tagen habe ich ein ein Script das Benutzer unter Windows XP/2000/2003 anlegt programmiert hier mal ein Beispiel dazu! @Info: Das Script startet aus einer CMD (DOS) heraus, damit das Script lauffähig müsst Ihr entweder das Script über "cscript MeinScript.vbs" starten oder den Standardskripthostmit folgender Zeile als Standard definieren: Syntax: cscript //H:cscript Ebenfalls nimmt das Script den Neuen Benutzer in die Gruppe "Meine Gruppe" auf. Wenn Ihr das Script testet legt also noch eine Gruppe an oder dokumentiert den Gruppen Teil im Script aus. Viel Spaß damit Tom CreateUser.vbs '_________________________________________ ' ' Anlegen eines Benutzer ' ' Erstellt von T. Del Greco am 25.06.2007 '_________________________________________ Const ADS_UF_PASSWD_CANT_CHANGE = &H40 strComputer = "." WScript.StdOut.Write "Name : " strName = WScript.StdIn.ReadLine WScript.StdOut.Write "Passwort : " strPwd = WScript.StdIn.ReadLine 'Beschreibung strDesc = "Meine Benutzer" Set objcomp = GetObject("WinNT://" & strComputer & ",computer") Set objkonto = objcomp.Create("user", strName) With objkonto .Description = strDesc .SetPassword strPwd .UserFlags = .UserFlags OR 65536 .UserFlags = objKonto.UserFlags OR ADS_UF_PASSWD_CANT_CHANGE .SetInfo End With Set objnet = CreateObject("WScript.Network") strComputer = objnet.ComputerName strGruppe = "Meine Gruppe" Set objcomp = GetObject("WinNT://" & strComputer) Set objGruppe = objcomp.GetObject("group", strGruppe) Set objKonto = objcomp.GetObject("user", strName) With objGruppe .Add objKonto.ADsPath .SetInfo End With '_____________________________________________________________________
  11. tach auch zusammen, hiermal ein kleines Beispiel um mehere Benutzer testweis in einer OU anzulegen! MfG Tom Del Greco 'Anlegen von mehren Test Benutzer in einer Organisationseinheit der Domainestruktur 'Erstellt am 10.04.2007 von T.Del Greco 'Developer Feedback: Keiner wird gekündigt für Scripte die man versteht ;o) ? DIM RootDSE Set RootDSE = GetObject("LDAP://RootDSE") Domainname=RootDSE.Get("DefaultNamingContext") Set Domain = GetObject("LDAP://" & Domainname) Nummber = inputBox("Wie viele Benutzer?") FavOU = inputBox("In welcher OU sollen die User angelegt werden?") Set wshNet = WScript.CreateObject("WScript.Network") Randomize random = Int(100 * rnd + 1) i = 00 Do Until i > Nummber - 1 strUsername = "Test-User" & "-" & i strFirstName = "Firstname" strLastName = "Lastname" strHomeDir = "\\" & wshNet.Computername & "\UserHomePath\" & strUsername strHomeDrive = "Z" strBasisfile = "\\" & wshNet.Computername strPasswd = "!!HalloWelt2007" strLoginScript = "\\" & wshNet.Computername & "\UserLoginScripte\login.vbs" strTermProfilePath = "\\" & wshNet.Computername & "\TermUserPath\" strTermDir = "\\" & wshNet.Computername & "\TerminalUser\" Set objUser = Domain.Create("User", "CN=" & strUsername & ", OU=" & FavOU) With objUser 'Registger Map Generally .FirstName = strFirstName .LastName = strLastname .Displayname = strFirstName & " " & strLastname .EmailAddress = strFirstname & "." & strLastname & "@itomix.org" .Description = "Test User" .SetInfo '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 'Registger Map Account .sAMAccountName = strUsername .UserPrincipalName = strUsername .SetPassword strPasswd .AccountDisabled = True .SetInfo '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 'Registger Map Profile .ProfilePath = strHomeDir .HomeDrive = strHomeDrive .HomeDirectory = strBasisfile .ScriptPath = strLoginScript .SetInfo '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 'Register Map Terminal Service Profiles .AllowLogon = 1 .TerminalServicesHomeDirectory = strTermDir .TerminalServicesProfilePath = strTermProfilePath & strUsername .SetInfo End With Set objUser = nothing i = i+1 loop Set Domain = nothing if i > 0 then 'successfully else 'failed end if
  12. Hallöchen, für sowas kannst du einfach eine kleine WMI Zeile nutzen z.B. Syntax WMI: WMIC /NODE:"192.168.0.1" /USER:Administrator /PASSWORD:"AdminPassword" useraccount where(name="Username der gesperrt werden soll") set disabled="false" @Info: Solltes Du auf den Windows Server 2003 die Firewall ICF aktiviert haben, kann man mit WMIC nartürlich nicht viel anfangen. Um dennoch die WMI Syntax erfolgreich ins Ziel zu bringen, führst du auf den Server ein "netsh" Befehl aus der den RemoteAdmin für das Subnet oder eine bestimmte IP-Addresse freigibt. MfG Tom Del Greco Syntax NETSH: Netsh Firewall set Service Remoteadmin enable Subnet
  13. tach auch zusammen, habe mal eben ein kleins Inventur Script gescrieben für Eckdaten wie CPU, Speicher und soweiter eines Rechners zu erfassen. Wer es braucht der hat es jetzt oder zumindestens ein Beispiel dazu ;o) >>> viel Spaß damit Just for Info: Ich habe auch noch ein ähnliches Script gescrieben was mehre Hostnamen aus einer Textdatei ausliest. wer es braucht kann sich ja melden. MfG Tom Del Greco readDevices.txt
  14. ...solche schönen Tools die Ich unter Linux habe fehlen mir leider immer wieder ;o) mhm, kann das Programm RUNASPRO den die aktuellen Kennwörter aus der SAM Database auslesen? Ich denke nicht und wenn "ja" was passiert wenn ich die SAM Datenbank über SYSKEY unter Windows 2003 verschlüsselt habe? Gruß Tom
  15. ...dies sollte dein Problem auch unter 2000 lösen Kopiere den folgenden Text einfach in eine Datei speichere diese mit name.vbs und, starte diese über die Konsole mit den Befehl "cscript nam.vbs" strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colVolumes = objWMIService.ExecQuery _ ("Select * from Win32_Volume Where Name = 'D:\\'") For Each objVolume in colVolumes objVolume.DriveLetter = "Q:" objVolume.Put_ Next Gruß Tom
×
×
  • Neu erstellen...