titux
Goto Top

Mit Variablen führt kix nichts aus

Servus,

beschäftige mich erst seit einigen Stunden mit kix und wollte gaaaanz langsam damit beginnen.
Erstes Ziel soll ein Logon-Script sein, dass nur ein einzelnes Laufwerk vom Server mappen soll.
Der Hostname des Servers lauftet in dem Fall "SRV-ADS-001" und darauf ist der Ordner "Daten" freitgegeben.

Habe die aktuelle Version von kixtart runtergeladen und führe das ganze auf einem Windows Server 2008 (64-Bit) aus.

Bis jetzt steht einfach das hier im Script:

Break offUSE S: "\\SRV-ADS-001\Daten"

Dies wird erfolgreich ausgeführt. Jetzt möchte ich mit Variablen arbeiten und habe damit begonnen, dem Server
eine Variable zu geben, was wie folgt aussieht:

Break off$fs01="\\SRV-ADS-001"USE S: "\\fs01\Daten"

Sobald ich das Laufwerk über die Variable mappen möchte, passiert auf dem Client nichts, das Script wird
anscheinend nicht aufgerufen.

Was ist daran denn nun falsch? Habe mir das Tutorial hier auf der Seite angesehen, komme aber nicht weiter.

Bin für jeden Tipp dankbar,

Gruß
Rainer

Content-Key: 149801

Url: https://administrator.de/contentid/149801

Printed on: April 23, 2024 at 15:04 o'clock

Member: BigWim
BigWim Aug 26, 2010 at 15:21:58 (UTC)
Goto Top
Hallo Rainer,

Du hast nur das $ "vergessen", also entweder

Break off
$fs01="\\SRV-ADS-001"  
USE S: "$fs01\Daten"  

oder

Break off
$fs01="\\SRV-ADS-001"  
USE S: $fs01 + "\Daten"  

Ich empfehle Dir, direkt bei Text nur mit Hochkomma's zu arbeiten. Erleichert die Sache z. B. bei Pfadangaben. Es geht also auch so

Break off
$fs01='\\SRV-ADS-001'  
USE S: '$fs01\Daten'  

Und wenn wir einmal dabei sind und die Freigaben berechnet werden, dann geht auch soetwas

Break off
$Freigabe='\Freigabe'  
$Server="\\SRV-ADS-001"  
USE S: '$Server$Freigabe'  

Aus Lesbarkeitsgründen verzichte ich aber möglichst auf die kürzeste Schreibweise und mache es so
Break off
$Freigabe='Freigabe'  
$Server="SRV-ADS-001"  
USE S: '\\$Server\$Freigabe'  

Viel Erfolg beim Experimentieren. Wenn Du mal nach KixScripten suchst, wirst Du eine Menge Anregungen finden ....

Markus
Member: TiTux
TiTux Aug 27, 2010 at 07:30:29 (UTC)
Goto Top
Super! Vielen Dank Markus!

Manchmal hat man einfach keinen Durchblick mehr, dann braucht man so ein Forum wie hier ;)

Habe echt viele Einstellungen getestet und bin durchs Web nach Beispielen gesurft, aber irgendwie habe ich es immer wieder
doch falsch hinbekommen.

Das Dollarzeichen hatte ich auch schon an der Stelle, mein eigentliches Problem war, dass ich die beiden "\\" der Freigabe vorangestellt hatte, also:

USE S: "\\$fs01\Daten"

anstatt ohne zwei Backslashs

USE S: "$fs01\Daten"

Bei Deiner zweiten Variante hast Du das "+" Zeichen im "use Befehl" mit drin, ist also nur eine andere Schreibform oder bringt das später einen anderen Vorteil
mit Variablen?

Auf jedenfall klappts jetzt und ich Danke Dir sehr.

Gruß
Rainer

PS: Jetzt kann ich ja loslegen .. muss das Mapping nämlich anhand von verschiedenen Standorten realisieren, aber hier gibt es ja ein Tutorial von gogoflash,
der das Beschreibt.
Member: BigWim
BigWim Aug 27, 2010 at 08:45:42 (UTC)
Goto Top
Zitat von @TiTux:
Bei Deiner zweiten Variante hast Du das "+" Zeichen im "use Befehl" mit drin, ist also nur eine andere
Schreibform oder bringt das später einen anderen Vorteil mit Variablen?
Meine Projekte sind dafür nicht groß genug, sodass ich wirklich nur auf die Lesbarkeit schiele.
Profiprogrammierer mögen mir bitte widersprechen, aber guck, dass Dein Code lesbar bleibt und gut ist. Mein LoginScript ist in zwischen auf 750 Zeilen angewachsen ....

Ich komme, wie gesagt, am besten mit den Hochkomma's klar (erspart Dir einige Verkettungen mit +) und der Schreibweise "Variablen im String werden aufgelöst" (erspart noch einige Verkettungen mit + mehr).


PS: Jetzt kann ich ja loslegen .. muss das Mapping nämlich anhand von verschiedenen Standorten realisieren, aber hier gibt es
ja ein Tutorial von gogoflash der das Beschreibt.

Wenn Dir ein AD mit Gruppenkonzept zur Verfügung steht, beachte auf jeden Fall InGroup. Ansonsten kannst Du noch einiges über die Makros (@.....) ermitteln. Es gibt da feine Techniken face-wink

Viel Erfolg
Markus