Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS ausgabe in der Textdatei Ausrichten, Formatieren

Frage Entwicklung VB for Applications

Mitglied: u0206084

u0206084 (Level 1) - Jetzt verbinden

06.03.2007, aktualisiert 09.03.2007, 8362 Aufrufe, 5 Kommentare

Hallo

Ich lese anhand folgenden Scriptes das AD aus und leite die Ausgabe in eine Textdatei um, leider ist die Ausgabe nicht bündig untereinander sondern verschoben. Wer kann mir helfen die Ausrichtung des Textes anzupassen.

Mein Script:

strDom = "Rm1.dom"
Const FRIST =14

Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set objDomainNT = GetObject("WinNT://" & strDom)
intMaxPwdAge = objDomainNT.Get("MaxPasswordAge")
If intMaxPwdAge <= 0 Then
WScript.Echo "Max Passwortalter ist 0, Passwörter laufen nicht ab!"
WScript.Quit
End If
intMaxPwdAge = Int(intMaxPwdAge / 86400)


Set oGroup = GetObject("WinNT://" & strDom & "/Domain Users")


For Each oObject In oGroup.Members


Set oUser = GetObject(oObject.ADsPath)
intCurrentValue = oUser.UserFlags
If intCurrentValue and ADS_UF_DONT_EXPIRE_PASSWD Then
'WScript.Echo oUser.Name & ": Passwort läuft niemals ab."
Else
intPasswordAge = oUser.PasswordAge
dtmChangeDate = DateAdd("s", -intPasswordAge, Now)
'WScript.Echo oUser.Name & ": Passwort zuletzt geändert: " & dtmChangeDate
intExpire = DateDiff("d", Now, dtmChangeDate) + intMaxPwdAge
If intExpire <= 0 Then 'abgelaufen
strMessage = oUser.Name & ": abgelaufen - Tage: " & -intExpire
ElseIf intExpire <= FRIST Then 'demnächst
strMessage = "Passwort des Benutzer" & vbtab & oUser.Name & vbtab &"("& oUser.Fullname &")" & vbTab & vbTab &"laueft in " & intExpire & " Tagen ab"& vbCRLF
WScript.Echo strMessage

End If



End If
Next
Mitglied: bastla
06.03.2007 um 16:25 Uhr
Hallo u0206084!

Du könntest die beiden Functions "FormL" und "FormR" dazu verwenden, einen String links- oder rechtsbündig ausgerichtet mit Leerstellen auf eine bestimmte Länge zu ergänzen - für eine vernünftige Darstellung des Ergebnisses ist aber ein Font mit einer fixen Breite (à la "Courier New" erforderlich).

Zusammen mit einer kleinen Demo sähe das so aus:
01.
'FormatDemo.vbs 
02.
For i = 1 To 20 
03.
	L = FormL(String(i, "X"), 20) 
04.
	R = FormR(String(i, "0"), 20) 
05.
	WScript.Echo L & "|" & R 
06.
Next 
07.
 
08.
 
09.
Function FormL(EinText, Stellen) 
10.
If Stellen > Len(EinText) Then 
11.
	FormL = Left(EinText & Space(Stellen), Stellen) 
12.
Else 
13.
	FormL = EinText 
14.
End If 
15.
End Function 
16.
 
17.
Function FormR(EinText, Stellen) 
18.
If Stellen > Len(EinText) Then 
19.
	FormR = Right(Space(Stellen) & EinText, Stellen) 
20.
Else 
21.
	FormR = EinText 
22.
End If 
23.
End Function
Grüße
bastla

[Edit] Die Demo ist natürlich für eine Verwendung per Commandline, also etwa "cscript //nologo FormatDemo.vbs > FormatDemo.txt" gedacht ... [/Edit]
Bitte warten ..
Mitglied: u0206084
08.03.2007 um 09:58 Uhr
Hallo bastla,
nett das du mir schon wieder versuchst zu helfen, leider habe ich keine ahnung wie ich dein Script in das obige inplementieren kann.

aAso wenn du Zeit und Lust hast wäre ich dir dankbar.

Gruß
Bitte warten ..
Mitglied: Biber
08.03.2007 um 11:11 Uhr
Moin u02060084,

01.
strDom = "Rm1.dom" 
02.
Const FRIST =14 
03.
 
04.
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000 
05.
 
06.
Set objDomainNT = GetObject("WinNT://" & strDom) 
07.
intMaxPwdAge = objDomainNT.Get("MaxPasswordAge") 
08.
If intMaxPwdAge <= 0 Then 
09.
    WScript.Echo "Max Passwortalter ist 0, Passwörter laufen nicht ab!" 
10.
    WScript.Quit 
11.
End If 
12.
intMaxPwdAge = Int(intMaxPwdAge / 86400) 
13.
 
14.
Set oGroup = GetObject("WinNT://" & strDom & "/Domain Users") 
15.
 
16.
For Each oObject In oGroup.Members 
17.
 
18.
     Set oUser = GetObject(oObject.ADsPath) 
19.
     intCurrentValue = oUser.UserFlags 
20.
     If intCurrentValue and ADS_UF_DONT_EXPIRE_PASSWD Then 
21.
         'WScript.Echo oUser.Name & ": Passwort läuft niemals ab." 
22.
     Else 
23.
         intPasswordAge = oUser.PasswordAge 
24.
         dtmChangeDate = DateAdd("s", -intPasswordAge, Now) 
25.
         'WScript.Echo oUser.Name & ": Passwort zuletzt geändert: " & dtmChangeDate 
26.
         intExpire = DateDiff("d", Now, dtmChangeDate) + intMaxPwdAge 
27.
         If intExpire <= 0 Then 'abgelaufen 
28.
            strMessage = Pad( oUser.Name, 15) & ": abgelaufen - Tage: " & -intExpire 
29.
         ElseIf intExpire <= FRIST Then 'demnächst 
30.
           strMessage = "Passwort des Benutzer" & vbtab & Pad(oUser.Name, 15) & _  
31.
             vbtab &"("& Pad(oUser.Fullname, 25) &")" & vbTab & vbTab &"laueft in " & Pad(intExpire, 2) & " Tagen ab"& vbCRLF 
32.
              WScript.Echo strMessage 
33.
 
34.
          End If 
35.
 
36.
     End If 
37.
Next 
38.
Wscript.quit() 
39.
Function Pad( EinString, Fixlen) 
40.
   Pad = Left( cStr(EinString) & Space(FixLen), FixLen) 
41.
End Function
[ungetestete Skizze]

Gruss
Biber
Bitte warten ..
Mitglied: bastla
08.03.2007 um 14:17 Uhr
@Biber

Die Function würde vielleicht besser "PadOrCut()" heißen - oder auch "Procrustes()" ...

Grüße
bastla
Bitte warten ..
Mitglied: u0206084
09.03.2007 um 15:42 Uhr
Vilen Danke für euere Hilfe hat Prima geklappt.

Danke
Bitte warten ..
Ähnliche Inhalte
Python
Python - ausgabe formatieren

Frage von BadFsaadKl zum Thema Python ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

VB for Applications
gelöst Tool zur scriptbasierten PDF-Bearbeitung gesucht (VBS oder Batch) (6)

Frage von SarekHL zum Thema VB for Applications ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (8)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...