http://dieseyer.de • all rights reserved • © 2011 v11.4

'*** v9.7 *** www.dieseyer.de ******************************
'
' Datei: syntax-pcname.vbs
' Autor: xxx.dexter.xxx@googlemail.com
' Auf: www.dieseyer.de
'
' http://www.source-center.de/forum/showthread.php?p=79678
'
' PCName werden vor der Prüfung immer in Großbuchstaben gewandelt!
' ^[0-9]{15}$ PCNamen mit 5..15 Zeichen, nur Ziffern: 123456789012345;
' ^[-_A-Z0-9]{5,15}$ PCNamen mit 5..15 Zeichen, Ziffern und Buchstaben und - und _ : PC-01;
' ^DIESEYER[-_A-Z0-9]{7}$ PCNamen beginnen mit 'DIESEYER' und haben 15 Zeichen: DIESEYER-123456;
' ^DS[A-Z0-9]{13}$ PCNamen beginnen mit 'DS' und haben 15 Zeichen, kein - kein _ : DS1234567890123
'
'***********************************************************

Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl

Dim Txt, Tst

Tst = "1sd ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "s2d-ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "ss3_ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "ssd.4dd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "ssd!d50" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "1" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "12" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "123" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "1234" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "12345678901234" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "123456789012345" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "1234567890123456" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF
Tst = "123456789ABCDEFx" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF

MsgBox Txt, , "35 :: " & Wscript.ScriptName

WScript.Quit


'*** v9.7 *** www.dieseyer.de ******************************
Function GueltigerPCName( Hostname )
'***********************************************************
' Autor: xxx.dexter.xxx@googlemail.com
' http://www.source-center.de/forum/showthread.php?p=79678

Hostname = UCase( Hostname )

Dim RegAusdr, Tst
Tst = "^[-a-zA-Z0-9!@#\$\%\^&'\(\)\._\{\}~]{1,15}$"
Tst = "^[-_a-zA-Z0-9]{3,15}$" ' 3 bis 15 Zeichen, Buchstaben und Zahle und - und _

Set RegAusdr = New RegExp
RegAusdr.Pattern = Tst
If RegAusdr.Test(Hostname) Then
GueltigerPCName = TRUE ' : MsgBox GueltigerPCName & ": " & PC, , "55 :: " & Titel
Else
GueltigerPCName = FALSE ' : MsgBox GueltigerPCName & ": " & PC, , "57 :: " & Titel
End If
Set RegAusdr = nothing

End Function

http://dieseyer.de • all rights reserved • © 2011 v11.4