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 Problem mit wshShell

Frage Entwicklung VB for Applications

Mitglied: skid

skid (Level 1) - Jetzt verbinden

06.04.2011 um 08:49 Uhr, 4019 Aufrufe, 2 Kommentare

Hallo,

nachdem ich nun einige Stunden damit verbracht und keine Lösung gefunden habe, hoffe ich das Ihr mir weiterhelfen könnt.

Ich habe ein .vbs-Skript in dem ich mit DSMOD den Client, auf dem das Skript ausgeführt wird, in eine Gruppe im AD hinzufügen möchte.
Das Skript sieht so aus:

01.
 
02.
Const ADS_NAME_INITTYPE_GC = 3 
03.
Const ADS_NAME_TYPE_NT4 = 3 
04.
Const ADS_NAME_TYPE_1779 = 1 
05.
 
06.
Dim wshShell 
07.
Dim WScript 
08.
 
09.
Set wshShell = CreateObject("WScript.Shell") 
10.
 
11.
'Get the NETBIOS name of the domain 
12.
Set objSystemInfo = CreateObject("ADSystemInfo")  
13.
strDomain = objSystemInfo.DomainShortName 
14.
 
15.
' Get the name of the computer 
16.
set objNetwork = createobject("Wscript.Network") 
17.
strComputer = objNetwork.ComputerName 
18.
 
19.
' Call function to return the distinguished name (DN) of the computer 
20.
strComputerDN = getComputerDN(strComputer,strDomain) 
21.
 
22.
wshShell.Run "dsmod Group " & "CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz" & " -addmbr " & strComputerDN , 0, True 
23.
 
24.
function getComputerDN(byval strComputer,byval strDomain) 
25.
	' Function to get the distinguished name of a computer 
26.
	' from the NETBIOS name of the computer (strcomputer) 
27.
	' and the NETBIOS name of the domain (strDomain) using 
28.
	' name translate 
29.
 
30.
	Set objTrans = CreateObject("NameTranslate") 
31.
	' Initialize name translate using global catalog 
32.
	objTrans.Init ADS_NAME_INITTYPE_GC, "" 
33.
	' Input computer name (NT Format) 
34.
	objTrans.Set ADS_NAME_TYPE_NT4, strDomain & "\" & strComputer & "$" 
35.
	' Get Distinguished Name. 
36.
	getComputerDN = objTrans.Get(ADS_NAME_TYPE_1779) 
37.
 
38.
End Function 
39.
 
Irgendwie wird der dsmod-Befehl nicht ausgeführt. Wenn ich es in eine Dos-Box eintippe funktioniert alles.
Die strComputerDN-Variable wird auch richtig befüllt - das habe ich mir schon über eine MsgBox anzeigen lassen.
Ich habe noch ein weiteres Skript in dem ich auch mit dsmod was mache und da funktioniert der wshShell-Aufruf.
Warum es bei dem einen funktioniert und beim anderen nicht kann ich mir nicht erklären, da der Aufruf der gleiche ist.

Vielleicht habt Ihr noch eine Idee.....?!

SKID
Mitglied: AndreasHoster
06.04.2011 um 16:08 Uhr
Ja.
Zuallererst, zum Testen, nicht einfach schauen ob die strComputerDN richtig gefüllt ist, sondern sich den kompletten Befehlsstring ausgeben lassen.
Also
01.
msgbox "dsmod Group " & "CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz" & " -addmbr " & strComputerDN 
Dann würde nämlich auffallen, daß Anführungszeichen fehlen.
Laut MS soll es dsmod Group "CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz" ... heißen, bei Dir heißt es dsmod Group CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz
Also mal folgendes ausprobieren:
01.
wshShell.Run "dsmod Group ""CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz"" -addmbr """ & strComputerDN & """" , 0, True 
Bitte warten ..
Mitglied: skid
07.04.2011 um 08:53 Uhr
Danke für den Tip !

nachdem ich es jetzt die Anführungszeichen richtig gesetzt habe funktioniert es !!

01.
 
02.
WshShell.Run  "dsmod Group " & """CN=TESTGRUPPE,OU=Test,DC=xx,DC=yy,DC=zz""" & " -addmbr """ & strComputerDN & """" , 0, True 
03.
 
Bitte warten ..
Ähnliche Inhalte
Windows Update
WSUS Problem, einige Clients ziehen keine Updates mehr (4)

Frage von Leo-le zum Thema Windows Update ...

Entwicklung
gelöst Grafische Darstellung - Fortschrittsanzeige VBS Skript (7)

Frage von Komoran12 zum Thema Entwicklung ...

LAN, WAN, Wireless
Problem mit W-LAN Einbindung bei UniFi AP-AC-Mesh (1)

Frage von mayli01 zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...

Windows Server
gelöst Einzelnes Windows Update über GPO deinstallieren (16)

Frage von lordofremixes zum Thema Windows Server ...