Break off
SetConsole("Hide")
;****************************************************************************
;Loeschen der Temp Dateien (deaktiviert)
;
; run "\\...local\Policies\{81C8A747-9992-4E6D-9BD4-93A7DB5090CB}\User\Scripts\Logon\DelTemp\DelTemp.exe"
;
;****************************************************************************
;****************************************************************************
;Set Wallpaper
;****************************************************************************
$RC=WriteValue ('HKCU\Control Panel\Desktop', 'TitelWallpaper', '1', REG_SZ)
If @ERROR = 0
? 'Value written to the registry'
Endif
$RC=WriteValue ('HKCU\Control Panel\Desktop', 'WallpaperStyle', '2', REG_SZ)
If @ERROR = 0
? 'Value written to the registry'
Endif
If SetWallpaper ('\\....local\Policies\{81C8A747-9992-4E6D-9BD4-93A7DB5090CB}\User\Scripts\Logon\Hintergrundbild\BSL.bmp', 1) = 0
? 'Set current wallpaper to BSL.bmp...'
Endif
;****************************************************************************
;Set Uservariablen
;****************************************************************************
SET "temp=C:\temp"
SET "tmp=C:\temp"
SETTIME "\\SVR"
;****************************************************************************
;Set User Ansicht auf Detail
;****************************************************************************
run "\\....local\Policies\{81C8A747-9992-4E6D-9BD4-93A7DB5090CB}\User\Scripts\Logon\Ansicht-Explorer-Details.exe"
;****************************************************************************
;Definieren der Server
;****************************************************************************
$fs01="\\SRV1"
$fs02="\\SRV2"
$fs03="\\SRV3"
$fs07="\\SRV4"
$fs08="\\SRV5"
$fs09="\\SRV6"
$fs10="\\SRV7"
;****************************************************************************
;Verbinden von Netzwerklaufwerken
;****************************************************************************
use "*" /delete
;****************************************************************************
;Verbinden von Netzwerklaufwerken für die EDV
;****************************************************************************
IF InGroup("EDVGruppe")
Use Z: $fs02+"\Test"
EndIf
;****************************************************************************
;Verbinden der Netzwerkdrucker für alle Abteilungen
;****************************************************************************
;Script Options
If NOT @LOGONMODE
Break On
EndIf
Dim $RC
$RC=SetOption("Explicit", "On")
$RC=SetOption("NoMacrosInStrings", "On")
$RC=SetOption("NoVarsInStrings", "On")
$RC=SetOption("WrapAtEOL", "On")
;***********
;Printserver
;***********
Dim $ERPServer $ERPServer="SRV5"
;****************************************************************************
;Netzwerkdrucker
;****************************************************************************
Dim $EDV $EDV="Brother_.6"
;****************************************************************************
;Verbinden der Netzwerkdrucker für die EDV
;****************************************************************************
If InGroup("EDVGruppe")
$RC = AddPrinterConnection("\\"+$ERPServer+"\"+$EDV)
EndIf
;****************************************************************************
; Hardware Informationen von allen Domain PC´s auslesen
;****************************************************************************
; Umleitung der Ausgaben auf eine Datei mit Rechnernamen im Dateinamen
break on
cls
dim $result
$result=setoption('explicit','on')
$result=setoption('novarsinstrings','on')
$result=setoption('nomacrosinstrings','on')
dim $verzeichnis, $datei, $dimm, $computer
$verzeichnis = '\\...\Anmeldungen\'
$datei = @Hostname+"_info.txt"
if not exist($verzeichnis)
? 'Kann Verzeichnis '+$verzeichnis+' nicht finden'
exit 1
endif
$result=RedirectOutput ($verzeichnis+$datei ,1)
if @error
? 'Error '+@error+' - '+@serror
endif
? "Datum der Erfassung = " + @date
? "Monat = " + @MONTH
? "Tag = " + @DAY
? "Uhrzeit = " + @time
? "Letzter Login von = " + @FULLNAME
? "User Privilegien = " + @PRIV
? "PC Name = " + WMIQuery("CSName","Win32_OperatingSystem")[0]
? "IP Adresse = " + @IPADDRESS0
? "MAC Adresse = " + @ADDRESS
? "OS Name = " + WMIQuery("Caption","Win32_OperatingSystem")[0]
? "Service Pack = " + WMIQuery("CSDVersion","Win32_OperatingSystem")[0]
? "Install Date = " + WMIQuery("InstallDate","Win32_OperatingSystem")[0]
? "OS Version Number = " + WMIQuery("Version","Win32_OperatingSystem")[0]
? "OS Build Number = " + WMIQuery("BuildNumber","Win32_OperatingSystem")[0]
? "Sprache = " + @SysLang
? "Registered User = " + WMIQuery("RegisteredUser","Win32_OperatingSystem")[0]
? "Boot Device = " + WMIQuery("BootDevice","Win32_OperatingSystem")[0]
? "System Device = " + WMIQuery("SystemDevice","Win32_OperatingSystem")[0]
? "Windows Directory = " + WMIQuery("WindowsDirectory","Win32_OperatingSystem")[0]
? "System Directory = " + WMIQuery("SystemDirectory","Win32_OperatingSystem")[0]
? "Last Boot Time = " + WMIQuery("LastBootupTime","Win32_OperatingSystem")[0]
? "OS Serial Number = " + WMIQuery("SerialNumber","Win32_OperatingSystem")[0]
? "System Manufacturer is = " + WMIQuery("Manufacturer","Win32_ComputerSystem")[0]
? "System Model is = " + WMIQuery("Model","Win32_ComputerSystem")[0]
? "System Serial Number is = " + WMIQuery("SerialNumber","Win32_BIOS")[0]
? "System BIOS Version is = " + WMIQuery("SMBIOSBIOSVersion","Win32_BIOS")[0]
? "System BIOS Date is = " + WMIQuery("Version","Win32_BIOS")[0]
? "CPU Modell = " + @CPU
? "CPU Manufacturer: = " + WMIQuery("manufacturer","Win32_Processor")[0]
? "Description: = " + WMIQuery("description","Win32_Processor")[0]
? "CPU Speed is = " + WMIQuery("CurrentClockSpeed","Win32_Processor")[0]+" Mhz"
? "Maximum Clock Speed = " + WMIQuery("maxclockspeed","Win32_Processor")[0]+" Mhz"
? "L2 Cache Size: = " + WMIQuery("l2cachesize","Win32_Processor")[0]
? "L2 Cache Speed: = " + WMIQuery("l2cachespeed","Win32_Processor")[0]
? "Family: = " + WMIQuery("family","Win32_Processor")[0]
? "Level: = " + WMIQuery("level","Win32_Processor")[0]
? "Stepping: = " + WMIQuery("stepping","Win32_Processor")[0]
? "Device ID: = " + WMIQuery("deviceid","Win32_Processor")[0]
? "Unique ID: = " + WMIQuery("uniqueid","Win32_Processor")[0]
? "System Memory = " + cint(Val(WMIQuery("TotalPhysicalMemory","Win32_LogicalMemoryConfiguration")[0])/1024) + " MB"
For Each $dimm in WMIQuery("Capacity","Win32_PhysicalMemory")
? "Dimm Size = " + cint(Val($dimm) / 1048576) + " MB"
Next
? "Disk Name/s = " + join(WMIQuery("name","Win32_LogicalDisk"),', ')
? "Volume Name = " + join(WMIQuery("volumename","Win32_LogicalDisk"),', ') + " MB"
? "Size = " + join(WMIQuery("size","Win32_LogicalDisk"),', ')+ " MB"
? "File System = " + join(WMIQuery("filesystem","Win32_LogicalDisk"),', ')
? "Free Space = " + join(WMIQuery("freespace","Win32_LogicalDisk"),', ')+" MB"
? "Video Card is = " + WMIQuery("Description","Win32_VideoController")[0]
? "Video Res is = " + WMIQuery("VideoModeDescription","Win32_VideoController")[0]
? "Modem is = " + WMIQuery("Description","Win32_POTSModem")[0]
Dim $SO
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')
Dim $RegArray,$Value,$Product,$Key
$RegArray = SearchReg("HKLM\Software\Microsoft","DigitalProductID",2)
If @Error
Else
For Each $Value in $RegArray
If $Value
$Product = ReadValue(Join(Split($value,'<=>DigitalProductId'),''),'ProductName')
If $Product
$Key = Get_Product_Key(ReadValue(Join(Split($value,'<=>DigitalProductId'),''), 'DigitalProductID'))
? + $Product + ' = ' + $Key ?
EndIf
EndIf
Next
EndIf
$computer = @wksta
? WMIQuery2("Services on","Win32_Service",$computer)
? WMIQuery2("Processes on","Win32_Process",$computer)
$result=redirectoutput('')
exit 0
Function SearchReg($Key,$Str,$SrcIn)
Dim $Idx,$vName,$Value,$num,$SubKey,$fArr,$mbr
$SearchReg = ''
$num = 0
$Idx = 0
$vName = EnumValue($Key,$Idx)
Do
$mbr = ''
If $SrcIn & 1
$Value = ReadValue($Key,$vName)
If InStr($Value,$Str)
$mbr = $Key + "<=>" + IIf($vName,$vName,'<Default>')
EndIf
EndIf
If ($SrcIn & 2) And InStr($vName,$Str)
$mbr = $Key + "<=>" + $vName
EndIf
If $mbr
ReDim Preserve $SearchReg[$num]
$SearchReg[$num] = $mbr
$num = $num + 1
EndIf
$Idx = $Idx + 1
$vName = EnumValue($Key,$Idx)
Until @Error
$Idx = 0
$SubKey = EnumKey($Key,$Idx)
While $SubKey
If ($SrcIn & 4) And InStr($SubKey,$Str)
ReDim Preserve $SearchReg[$num]
$SearchReg[$num] = $Key + '\' + $SubKey + "<=><KeyName>"
$num = $num + 1
EndIf
$fArr = SearchReg($Key + "\" + $SubKey,$Str,$SrcIn)
If @Error = 0
For Each $mbr in $fArr
ReDim Preserve $SearchReg[$num]
$SearchReg[$num] = $mbr
$num = $num + 1
Next
EndIf
$Idx = $Idx + 1
$SubKey = EnumKey($Key,$Idx)
Loop
Exit VarType($SearchReg) = 8
EndFunction
Function Get_Product_Key($sProductID)
Dim $aiKeyChars[24],$bProductKey[15],$ilByte,$i,$sCDKey,$nCur
$aiKeyChars = Split('B,C,D,F,G,H,J,K,M,P,Q,R,T,V,W,X,Y,2,3,4,6,7,8,9',',')
For $i = 0 to 14
$bProductKey[$i] = Val("&"+SubStr($sProductID,$i*2+105,2))
Next
$sCDKey = ""
For $ilByte = 24 to 0 Step -1
$nCur = 0
For $i=14 to 0 Step -1
$nCur = $nCur * 256 | $bProductKey[$i]
$bProductKey[$i] = Int($nCur / 24)
$nCur = $nCur Mod 24
Next
$sCDKey = $aiKeyChars[$nCur] + $sCDKey
If $ilByte Mod 5 = 0 And $ilByte <> 0
$sCDKey = "-" + $sCDKey
EndIf
Next
$Get_Product_Key = $sCDKey
EndFunction
FUNCTION WMIQuery($sWhat, $sFrom, Optional $sComputer, Optional $sWhere, Optional $x, Optional $root)
Dim $sQuery, $objEnum, $sValue, $sItem, $TMP, $SystemSet, $, $objInstance
If Not $sComputer $sComputer="." EndIf
if instr($sComputer,'\') $sComputer=right($sComputer,instrrev($sComputer,'\')) Endif
if not $root $root="\root\cimv2" Endif
$sQuery = "Select " + $sWhat + " From "+ $sFrom
If $sWhere AND $x $sQuery = $sQuery+" Where "+$sWhere+" = '"+$x+"'" EndIf
$SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!\\"+$sComputer+$root)
If @ERROR Exit VAL("&"+Right(DecToHex(@ERROR),4)) EndIf
$objEnum = $SystemSet.ExecQuery($sQuery)
If @ERROR Exit VAL("&"+Right(DecToHex(@ERROR),4)) EndIf
For Each $objInstance in $objEnum
If $objInstance
$=Execute("$"+"sValue = $"+"objInstance."+$sWhat)
if VarType($sValue) & 8192
For Each $sItem in $sValue $tmp=$tmp+'|'+Trim($sItem) Next
else
$tmp=$tmp+'|'+Trim($svalue)
Endif
EndIf
Next
$WMIQuery = split(substr($tmp,2),'|')
Exit VAL("&"+Right(DecToHex(@ERROR),4))
ENDFUNCTION
Function WMIQuery2($what,$where,$computer)
dim $wmi, $list, $objs, $obj
$wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!//" + $computer + "/root/cimv2")
$list = "" $objs = $wmi.instancesof($where)
For Each $obj in $objs
$list = $list + $obj.description + Chr(13) + Chr(10)
Next
$list=Left($list, Len($list))
? $what +" "+ $computer + Chr(13) + Chr(10) + $list
EndFunction