Top-Themen

Aktuelle Themen (A bis Z)

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

VBS Befehl als string zusammenbasteln und dann per run ausführen

Frage Entwicklung VB for Applications

Mitglied: Scroller

Scroller (Level 1) - Jetzt verbinden

14.06.2011 um 15:49 Uhr, 7721 Aufrufe, 9 Kommentare

Hi,

ich will cacls per vbscript - run mehtode staten.
Irgendas geht schief. Gibts in vbs nicht wie in Powershell die Möglichkeit einen Befehl als String zusammensetzen und ihn dann auszuführne?
(wie invoke-expression in Powershell.)


Hier mein code vieleicht findet ja jemand meinen Fehler:

set fso = CreateObject("Scripting.FileSystemObject")
set onet = CreateObject("Wscript.Network")
set WshShell = Wscript.CreateObject("Wscript.Shell")
Set objShell = CreateObject("Shell.Application")
set oSA = CreateObject("Shell.Application")


sTMP = WshShell.ExpandEnvironmentStrings("%temp%") & "\"



tp = stmp & "cacls.exe"
sDesktop = WshShell.SpecialFolders("Desktop") & "\"



WshShell.Run "cmd /c " & tp & " " & sDesktop & " /E /P ad\" & oNet.Username & ":R",3,true


Danke SC!
Mitglied: TsukiSan
14.06.2011 um 16:01 Uhr
Hallo Scroller,

fasse bitte deine Schnippets in die richtige Formatierung, dann liest es sich einfacher!

Eventuell liegt ein Schreibfehler bei dir vor?
Meintest du eventuell
tp = stmp & "calc.exe" ?

Gruss
Tsuki
Bitte warten ..
Mitglied: Clijsters
14.06.2011 um 17:17 Uhr
Er möchte Berechtigungen setzen, (hoffe ich), von daher gehe ich davon aus er meinte CACLS,

welche sich bei mir aber nicht im TEMP-Ordner sondern unter %SYSTEMROOT%\System32 befindet...

Desweiteren fehlen meiner Meinung nach Leerzeichen in der Befehlszeile.
UND: Wenn Leerzeichen in den Pfadangaben verwendet werden, (%TEMP% = "C:\dokumente und einstellungen\user\temp" oder wie auch immer)
nicht die Anführungszeichen vergessen

Ich bevorzuge was das angeht eher ... & Chr(34) & ... anstelle von Dingen, wie """" oder " """

Gruß
Dominique
Bitte warten ..
Mitglied: Scroller
15.06.2011 um 06:11 Uhr
Hallo Zusammen,

danke für eure Antworten.
Hier noch ergänzedne Infos :

An einem Thin client soll der Desktop für den User schreibgeschützt sein.
Dazu lade ich cacls.exe vom netz auf das Ding runter (da das abgespeckte windows auf dem Gerät die datei nicht beinhaltet)

Diese wird nach %temp% kopiert von da dann gestartet.

Beim Start Poppt das Fenster kurz auf und schliesst sich wieder. Das wars dann

Danke
SC
Bitte warten ..
Mitglied: Biber
15.06.2011 um 06:20 Uhr
Moin Scroller,

das empfohlene Vorgehen beim Testen von Schnipseln ist das Ausführen vom CMD-prompt aus.
Nur so kannst du auch die Fehlermeldungen lesen und gegebenfalls hier weitergeben.

Bitte starte den Schnipsel von der Eingabeaufforderung aus und erzähl uns dann, was du siehst.

Grüße
Biber
Bitte warten ..
Mitglied: AndreasHoster
15.06.2011 um 10:12 Uhr
Und als weiterer Tipp:
Nie davon ausgehen, daß der Computer macht was er soll.
Will sagen:
Nachkontrollieren ob Dein String richtig zusammengebaut ist könnte helfen:
01.
sExec="cmd /c " & tp & " " & sDesktop & " /E /P ad\" & oNet.Username & ":R" 
02.
wscript.echo sExec 
03.
WshShell.Run sExec,3,true
Dann siehst Du nämlich, was Du tatsächlich versuchst auszuführen und das könnte man dann auch mal direkt in einer CMD ausprobieren.
Dann sieht man auch, daß als Ergebnis dies kommt:
01.
cmd /c c:\temp\cacls.exe C:\Dokumente und Einstellungen\xxx\Desktop\ /E /P ad\xxx:R
Und da sieht man doch innerhalb von ca. 0,5 Sekunden, wo das Problem ist, oder nicht?

Wie sagte doch Prof. Tanenbaum: Ein guter Programmierer braucht nur seinen Kopf und ein printf (bei vbs halt wscript.echo) zum Debuggen.
Bitte warten ..
Mitglied: Scroller
15.06.2011 um 14:47 Uhr
Hallo,

Danke für Eure Antworten alle,

Es war ein Leerzeichen Problem beim Desktop. Die Lösung war:

sDesktop = """ & WshShell.SpecialFolders("Desktop") & """

Gruss
SC
Bitte warten ..
Mitglied: Clijsters
15.06.2011 um 18:48 Uhr
Da fühlt man sich ignoriert...
Bitte warten ..
Mitglied: Scroller
15.06.2011 um 20:43 Uhr
Wieso fühlst Du dich ignoriert??
Hab mich doch bei allen bedankt

Gruss
SC
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Shell-CMD Befehl Ausführen
gelöst Frage von Timo0oVB for Applications2 Kommentare

Nochmal ich^^ Ich möchte eine Aufgabe mit meinem VB Programm erstellen. Jedoch komme ich nicht weiter. Folgenden Code habe ...

Batch & Shell
Autoit: Befehl ausführen mit Anführungszeichen
gelöst Frage von adminstBatch & Shell1 Kommentar

Hallo zusammen Ich hoffe ihr könnt mir weiterhelfen. Der Befehl welcher ich ausführen muss ist folgender: c:\ProgramData\div\Citrix\CitrixReceiverEnterprise_3-4\CitrixReceiverEnterprise_3.4.201.exe ADDLOCAL="ICA_Client,PN_Agent" SERVER_LOCATION=" ...

Batch & Shell
VBS String nach letztem Leerzeichen teilen
gelöst Frage von citroendsvierBatch & Shell8 Kommentare

Hallo zusammen, ich habe in VBS eine Variable, die in etwa folgenden Inhalt enthält: Jetzt möchte ich das ganze ...

Windows 7
Powershell remote CMD Befehle ausführen
Frage von today12Windows 75 Kommentare

Hallo Leute, da ich nach stundenlanger Sucher nicht fündig geworden bin, hoffe ich jetzt auf eure Unterstützung. Als Beispiel ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 13 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...