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

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, 7577 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
Batch & Shell
gelöst Vbs programm unabhängig vom Speicherort ausführen (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Windows Systemdateien
gelöst Mit CMD Verknüpfung erstellen mit der Option "Ausführen in" (5)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

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

Server-Hardware
Einem Stromausfall entgegen wirken (19)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...