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

Befehlszeile um einen anderen PC im Netzwerk anzusteuern VBScript

Frage Entwicklung

Mitglied: AeRoX1990

AeRoX1990 (Level 1) - Jetzt verbinden

10.07.2009, aktualisiert 10:37 Uhr, 7902 Aufrufe, 16 Kommentare

Ich bin noch in den Anfängen von VBScript!!

Ich versuche über VBScript einen Netzwerkdrucker von einem anderen PC zu enfernen.
Lokal an meinem Rechner habe ich das schon geschafft mit:

Set objNetwork = CreateObject("Wscript.Network")
objNetwork.RemovePrinterConnection "\\Server\Drucker"

Jetzt ist meine Frage wie kann ich das selbe mit einem PC im Netzwerk machen??
Welche Befehlszeile benötige ich um einen anderen Client anzusprechen?

Mit freundlichen Grüßen
AeRoX1990

Danke schon mal!!
Mitglied: Andreas89
10.07.2009 um 11:00 Uhr
Hi,

ich glaube dir könnte der Link weiterhelfen:
http://www.administrator.de/article/detail_print.php?nr=8605

Wenn net guck ich heute nachmittag mal wie es genau ging (hab es schon einmal hinbekommen)
Bitte warten ..
Mitglied: AeRoX1990
10.07.2009 um 11:08 Uhr
Mhh danke für deine antwort aber so wie ich es machen will bzw. muss hilft mir das nich weiter es wär eine große Hilfe, wenn ich eine Befehlszeile habe wo ich auf einen anderem Pc einen bestimmten Drucker entferne.

Set objNetwork = CreateObject("Wscript.Network")
objNetwork.RemovePrinterConnection "\\Server\Drucker"

Dieser Befehl löscht den auf meinem pc jetzt brauche ich nur noch was wie ich das selbe auf einem anderem mache.
Bitte warten ..
Mitglied: Logan000
10.07.2009 um 15:33 Uhr
Moin Moin

Also auf die schnelle würd ich sagen, mach es genau so, nur das du dein Skript per Loginskript oder GPO auf dem Client laufen läßt.

Ansonsten kannst du dein Skript auch per psexec auf dem Client ausführen lassen.

Es geht natürlich auch per WMI. Dazu soltest du hier fündig werden:
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr= ...

Gruß L.
Bitte warten ..
Mitglied: AndreasHoster
10.07.2009 um 16:38 Uhr
Nur so nebenbei bemerkt:
Netzwerkdrucker sind User und nicht PC spezifisch.
Daher wird das etwas aufwendiger, weil fast alle Varianten, die es erlauben remote auf einem PC etwas ausführen zu lassen, in einem eigenen Benutzerkontext laufen und damit nicht den Drucker des aktuell angemeldeten Users entfernen. Außerdem könnte es ja passieren, daß gar kein user angemeldet ist, was dann?
Es sei denn, Du meinst lokal installierte Drucker, aber die würde Dein Beispiel noch nicht einmal lokal löschen.
Bitte warten ..
Mitglied: AeRoX1990
13.07.2009 um 11:10 Uhr
Doch das geht 100% nur wie ich brauche nur eine möglichkeit um mich sogesehen auf nen anderen Pc einzuwählen und dieser Befehl ist das einzige was mir fehlt.

Momentan bin ich soweit das ich alles schaffe bis auf das ich den auf einem anderen Pc löschen kann hier mein Script:

server = InputBox("Geben Sie den Namen ein")
Set wmi = GetObject("winmgmts:\\" & server)

Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "Domain = " & WshNetwork.UserDomain
WScript.Echo "Computer Name = " & WshNetwork.ComputerName
WScript.Echo "User Name = " & WshNetwork.UserName

WshNetwork.RemovePrinterConnection ("\\Server\Drucker")


MsgBox zaehler & "Drucker entfernt", vbInformations
Bitte warten ..
Mitglied: AndreasHoster
13.07.2009 um 13:06 Uhr
Doch das geht 100%
Wo steht in meinem Posting das das nicht geht? Ich habe nur geschrieben das es aufwendiger ist bei Netzwerkdruckern. Und was lokale versus Netzwerkdrucker angeht, ist Dir der Unterschied überhaupt bewusst?

Aber mit WMI auf andere Rechner zuzugreifen und dort ein Programm starten ist jetzt nicht wirklich kompliziert. Vorausgesetzt der, der es startet, hat genügend Rechte.
01.
Programm = "c:\windows\system32\wscript.exe Pfad_zu_VBSKRIPT" 
02.
 
03.
Set system = GetObject("winmgmts:" & Zielcomputer & "\root\cimv2:win32_process") 
04.
status = system.create(Programm) 
05.
If Status = 0 then 
06.
	wscript.echo "Programm gestartet!" 
07.
else 
08.
	wscript.echo "Fehler beim Start: " & status 
09.
End If
Bitte warten ..
Mitglied: Logan000
13.07.2009 um 13:37 Uhr
Moin moin

Hier, schau dir mal diesen Codefetzen an:
01.
strComputer = "PCname" 
02.
strUser="" 
03.
strPassword="" 
04.
strDrucker ="" 
05.
set wmi = CreateObject("WBemScripting.SWbemLocator") 
06.
Set cs = wmi.ConnectServer(strComputer,"root/cimv2",strUser,strPassword) 
07.
set colInstalledPrinters = cs.ExecQuery("Select * from Win32_Printer") 
08.
For Each objPrinter in colInstalledPrinters 
09.
    tmp = tmp & objPrinter.DeviceID & vbcrlf 
10.
Next 
11.
msgbox tmp ' Drucker Liste ausgeben 
12.
Set colInstalledPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer WHERE DeviceID = '" & strDrucker & "'") 
13.
For Each objPrinter in colInstalledPrinters 
14.
    objPrinter.Delete_  ' Drucker löschen 
15.
Next
Gruß L.
Bitte warten ..
Mitglied: AeRoX1990
13.07.2009 um 15:25 Uhr
Also versteh ich das richtig das mein script wenn ich das ausführen will aufjedenfall auf dem zielrechner schon sein muss wenn ja wie kann ich da eine datei hinkopieren kann auch über psexec gemacht werden.
Bitte warten ..
Mitglied: AndreasHoster
13.07.2009 um 15:35 Uhr
Also versteh ich das richtig das mein script wenn ich das ausführen will aufjedenfall auf dem zielrechner schon sein muss
Nein, man könnte das Skript auch von einem Netzlaufwerk ziehen.
Bitte warten ..
Mitglied: AeRoX1990
13.07.2009 um 16:49 Uhr
wie meine Überschrift schon sagt bin ich absolut hilflos ich bin auf status 0.
Ich habe es momentan geschafft mein Script auf einem anderen Pc ans laufen zu kriegen mit psexec starte ich das Script. Jetzt ist mein letztes Problem Wie bekomme ich mein Script auf den anderes Rechner ohne nutzung von e-mail etc. Am besten wär ein Script was meine Datei dort hin kopiert in temp z.B damit ich Sie starten kann.
Tut mir Leid wenn es ein bissen nervt aber ich habe echt keine Ahnung
Bitte warten ..
Mitglied: AndreasHoster
13.07.2009 um 17:13 Uhr
Den Begriff Netzlaufwerk sollte man schon kennen, wenn man im Netz was macht.
Auf Englisch auch Share genannt.

Ihr werdet doch wohl irgendeinen Fileserver haben und der freigegebene Ordner.
Dort das Skript ablegen und statt c:\temp\skript.vbs muß man \\SERVERNAME\SHARENAME\... verwenden (wie genau es heißt kommt darauf an, wo auf dem Server Du das Skript ablegst).
Wenn wir also davon ausgehen, daß der Server XXX heißt, die Freigabe YYY und das Skript test.vbs im Ordner ZZZ gespeichert ist würde es in meinem BeispielSkript so anfangen:
Programm = "c:\windows\system32\wscript.exe \\XXX\YYY\ZZZ\test.vbs"
Und falls man mögliche Leerzeichen in den Namen abfangen will:
Programm = "c:\windows\system32\wscript.exe ""\\XXX\YYY\ZZZ\test.vbs"""
Bitte warten ..
Mitglied: AeRoX1990
14.07.2009 um 09:48 Uhr
Also ich habe die Datei jetzt auf einem Fileserver abgelegt nun versuche ich das skript von Ihnen zu starten:

Programm = "c:\windows\system32\wscript.exe \\Sever\Pfad\datei.vbs"

Zielcomputer = InputBox("Geben Sie hier den Namen des Zielcomputers ein")

Set system = GetObject("winmgmts:\\" & Zielcomputer & "\root\cimv2:win32_process")
status = system.create(Programm)
If Status = 0 then
wscript.echo "Programm gestartet!"
else
wscript.echo "Fehler beim Start: " & status
End If

So das Script funktioniert so nur das wenn ich es ausführe und den Zielcomputer eingebe er es nicht auf ihm ausführt.
Lokal auf meinem startet er es von dem Server nur auf dem anderem passiert nichts.
Bitte warten ..
Mitglied: Logan000
14.07.2009 um 13:01 Uhr
Moin Moin

Lokal auf meinem startet er es von dem Server nur auf dem anderem passiert nichts.
Schau mal im Taskmanager des Zielcomputers unter Prozesse nach der wscript.exe.

Gruß L.
Bitte warten ..
Mitglied: AeRoX1990
14.07.2009 um 13:24 Uhr
Ja die wird als prozess über mich gestartet es funktioniert aber weiterhin nicht.
Bitte warten ..
Mitglied: AndreasHoster
14.07.2009 um 15:35 Uhr
Was heist genau funktioniert nicht?
Wird das Skript nicht gestartet, gibt es Fehlermeldungen oder tut es nur nicht das was Du erwartest?

Ob es überhaupt funktioniert könnte man mit einem eingebauten net send Aufruf oder einem Logging in eine Datei feststellen.
Und wenn Du erwartest, daß Netzwerkdrucker gelöscht würden, verweise ich gern auf mein erstes Posting:
<quote>
Netzwerkdrucker sind User und nicht PC spezifisch.
Daher wird das etwas aufwendiger, weil fast alle Varianten, die es erlauben remote auf einem PC etwas ausführen zu lassen, in einem eigenen Benutzerkontext laufen und damit nicht den Drucker des aktuell angemeldeten Users entfernen. Außerdem könnte es ja passieren, daß gar kein User angemeldet ist, was dann?
</quote>
Bitte warten ..
Mitglied: AeRoX1990
16.07.2009 um 09:59 Uhr
So ich habe es geschafft über PSexec mich mit dem anderen Pc zu verbinden und das Programm zu starten wenn es vorher auf dem Pc hinterlegt ist. Jetzt ist meine Frage wie kann ich die Datei von einem Server aus mit Psexec starten? Wenn das funktioniert wäre mein Problem gelöst.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 10
Im MS-Konto gesicherte Win10-Lizenz auf anderen PC übertragen (3)

Frage von chiefteddy zum Thema Windows 10 ...

Windows Server
Servergespeichertes Profil auf PC einer anderen Domäne laden (7)

Frage von Moros4223 zum Thema Windows Server ...

Netzwerkgrundlagen
Widerspenstiger PC in einem WIN 10 Netzwerk (6)

Frage von AranankA zum Thema Netzwerkgrundlagen ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...