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
GELÖST

Wie kann ich in einer FOR-Schleife einem VB-Script die Variable übergeben?

Frage Entwicklung Batch & Shell

Mitglied: Fahrrad

Fahrrad (Level 1) - Jetzt verbinden

12.04.2011 um 10:16 Uhr, 4461 Aufrufe, 4 Kommentare

Guten Morgen,

ich habe da ein kleines Problem mit Active Directory und einem VB-Skript

ich habe aus dem Active Directory einen DN ausgelesen, zB "CN=Hans Meyer,OU=Users,OU=Forschung,OU=DE,DC=eu,DC=microsoft,DC=com" und als Variable UserDN gespeichert.

Desweiteren habe ich ein VB Skript gefunden, welches mir den LastLogon Time Stamp ausgeben kann:

Set objUser = GetObject("LDAP://CN=Hans Meyer,OU=Users,OU=Forschung,OU=DE,DC=eu,DC=microsoft,DC=com")
Set objLastLogon = objUser.Get("lastLogonTimestamp")

intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart
intLastLogonTime = intLastLogonTime / (60 * 10000000)
intLastLogonTime = intLastLogonTime / 1440

Wscript.Echo "Last logon time : " & intLastLogonTime + #1/1/1601#

ich möchte nun dem VB Skript meine Variable UserDN übergeben, damit dieses mir den LastLogon TimeStamp liefert

Stören tun natürlich die Anführungszeichen in meiner Variable, die kann ich per FOR-Schleife entfernen

FOR /F "DELIMS=#" %A IN ('ECHO %UserDN%') DO CSCRIPT /NOLOGO LastLogonUser.vbs %~A

Wie übergebe ich dem VB Skript meine Variable, damit es funktioniert?

Vielen Dank für Eure hilfe

VG
Fahrrad
Mitglied: 76109
12.04.2011 um 10:51 Uhr
Hallo Fahrrad!

In etwa so:
01.
If Wscript.Arguments.Count = 0 Then WScript.Echo "Aufruf ohne Parameter!":  WScript.Quit 
02.
 
03.
MeineVariable = WScript.Arguments(0)
Gruß Dieter
Bitte warten ..
Mitglied: Fahrrad
12.04.2011 um 11:02 Uhr
Hallo Dieter,

erst einmal vielen Dank für Deine Antwort,

kann als VB-DAU jedoch nicht erkennen wo ich diese Zeilen einfügen muß und wenn ich die FOR Schleife benutzen muß wir die Syntax für meinen speziellen Fall wäre.

VG
Fahrrad
Bitte warten ..
Mitglied: bastla
12.04.2011 um 11:34 Uhr
Hallo Fahrad!

Wieso willst Du eine "for"-Schleife verwenden, wenn Du bereits eine Variable hast? Eigentlich sollte der Aufruf ja einfach mit
CSCRIPT /NOLOGO LastLogonUser.vbs %UserDN%
möglich sein.

Im VBScript kommt die Variable, wie Dieter schon gezeigt hat, als "WScript.Arguments(0)" an - ob Du sie dann noch einer VB-Variablen zuweisen oder direkt verwenden willst, ist Deine Entscheidung. Als Beispiel für die Variante 2:
Set objUser = GetObject("LDAP://" & WScript.Arguments(0))
Grüße
bastla

P.S.: "Code"-Formatierung macht Dein Script besser lesbar (und lässt sich auch einfach durch Editieren des Beitrages noch hinzufügen) ...
Bitte warten ..
Mitglied: Fahrrad
12.04.2011 um 12:02 Uhr
Hallo Bastla,

ich hattes es am Anfang nur mit direktem Reinkopieren des DN ins Skript ausprobiert und da störten die (doppelten) Anführungszeichen,

aber so ist es natürlich viel einfacher und schöner!

Vielen Dank an Euch beide!

VG
Fahrrad
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

Batch & Shell
gelöst CMD: icacls in for-Schleife (2)

Frage von Lowrider614 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...