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, 4473 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
gelöst Warum funktioniert das echo in meiner for-Schleife auch mit Sonderzeichen? (9)

Frage von Pedant zum Thema Batch & Shell ...

VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (20)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

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