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, 4469 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

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

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

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

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...