Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 27.10.2008, 10:06   #1
Offtopic Poster
 
Benutzerbild von BlackShadow
 
Offline
Registriert seit: 05-2003
Ort: Ulm
Beiträge: 837
WSH Array auslesen

Hallo,

ich hab hier folgendes problem gerade.
Habe einige benutzer die sich per Citrix Anmelden und unter Ihrem Benutzernamen eine sog. benutzervariable haben.

Diese sieht folgend aus.

%ORT% und hat den inhalt den entsprechenden Ortsnamen.

Dieses möchte ich nun auslesen das klappt auch soweit,
nun will ich anhand des Ortes die entsprechenden laufwerke die in einem Array sind auslesen und verweren.

dim strort(2)
strort(ulm) = "\\srv01\ulm"
strort(neu-ulm) = "\\srv01\neu-ulm"

jedoch funktioniert das obere array nicht so ganz wie ich das gerne hätte.
per strort(ulm) nimmt er immer das letze im array

dim strort(2)
strort(0) = "\\srv01\ulm"
strort(1) = "\\srv01\neu-ulm"

hier klappt das allerdings wüsst ich nicht wie ich der ausgelesenen benutzervariable hinzubekomm das wenn der benutzer Ulm hat dann auch das Array mit Ulm nimmt.

hat mir jemand eine idee?

gruß und danke Frank

Signatur
"So lange ich mich selbst habe, werde ich überleben."

    Mit Zitat antworten
Alt 27.10.2008, 11:05   #2
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

ein normales Array in VBScript erwartet Zahlen als Elementkennzeichen. In deinem Beispiel werden "ulm" und "neu-ulm" also als Variablen interpretiert - sofern du die nicht definiert hast, haben sie den Wert 0. Im Falle von "neu-ulm" ist es sogar noch lustiger: Das interpretiert VBS als "neu minus ulm".

Also: Am einfachsten ist es, wenn du mit Zahlen arbeitest, wie dein zweites Beispiel angibt. Als Alternative kannst du auch ein Dictionary nutzen - das macht das, was du suchst, ist aber komplizierter zu handhaben. Hier ein Beispiel:

Code:
Set dictStandort = CreateObject("Scripting.Dictionary")
dictStandort.Add "Ulm", "\\srv01\ulm"
dictStandort.Add "Neu-Ulm", "\\srv01\neu-ulm"

If dictStandort.Exists("Ulm") Then
	WScript.Echo dictStandort.Item("Ulm")
End If
Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 27.10.2008, 11:11   #3
Offtopic Poster
 
Benutzerbild von BlackShadow
 
Offline
Registriert seit: 05-2003
Ort: Ulm
Beiträge: 837
Hallo, und danke für deine Antwort.

das dacht ich mir fast denn wenn ich Zahlen verwende klappts prima aber ich kann ja nun ned noch ne if und else anweisung rein nehmen indem er dann das Ulm in 1 tauscht.

aber ich schau mir mal dein script drunter an ob ich das lauffähig bekomme.

klappt prima hab die 7 Standorte eingetragen und den rest noch angepasst
danke schön für deine Lösung

Geändert von BlackShadow (27.10.2008 um 12:25 Uhr). Grund: –––– Doppelpost – Automerge –––

Signatur
"So lange ich mich selbst habe, werde ich überleben."

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
multidimensionaler Array und suche in dem Array jan von sassen Windows Forum — Scripting 8 16.08.2008 15:08
java array edocom Windows Forum — Scripting 0 17.10.2007 14:41
Array wiederherstellen wiwa Windows Forum — Allgemein 4 17.11.2006 17:37
Raid Array 10 sysiphos Windows Forum — Allgemein 7 17.01.2006 12:34
VBS - dynamsiches Array? Butterbrot Windows Forum — Allgemein 1 19.02.2004 12:30


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:26 Uhr. Seite generiert in 0,028 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang