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

Problem mir Druckerfreigabe in VB Script

Mitglied: kinggunta

kinggunta (Level 2) - Jetzt verbinden

12.02.2007, aktualisiert 19:50 Uhr, 6204 Aufrufe, 3 Kommentare

Hallo Leute!

Unten angeführtes Script soll mir an einem Terminalserver zum Drucker ubenennen und Freigeben dienen.
Allerdings gibt dieses Script wenn ich es in einer Remotesitzung ausführe immer den Standarddrucker der Console und nicht des gerade angemeldeten Users frei. Was stimmt nicht?

on error resume next

Set shell = CreateObject("Shell.Application")
Set folder = shell.NameSpace(4)


Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer")


'Eventuell vorhandenen DOSPrinter Freigabe und LPT Verbindung löschen

Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "LPT1:",true,true


For Each objPrinter in colInstalledPrinters

If objPrinter.ShareName = "DOSprinter" Then

objPrinter.Shared = False
objPrinter.Put_

End If
Next


'Druckernamen ändern (Entfernen der Erweiterung "in Sitzung XX")

For Each item In folder.Items

If item.Name <> "Drucker hinzufügen" Then

arrPrinter = Split(item.Name, ")")

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Printer where Name='" & item.Name & "'", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)



For Each objItem In colItems
call objItem.RenamePrinter(arrPrinter(0))

Next




'Freigabe des Standarddruckers als DOSprinter und zuweisung der LPT1 Schnittstelle

Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Default = True")



For Each objPrinter in colInstalledPrinters

objPrinter.Shared = TRUE
objPrinter.ShareName = "DOSprinter"
objPrinter.Put_


Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddPrinterConnection "LPT1", "\\127.0.0.1\Dosprinter"

Next



End If

Next
Mitglied: AndreasHoster
12.02.2007 um 17:12 Uhr
Fehler sehe ich so auf Anhieb keinen, aber Windows ist halt im Grunde seines Herzens ein Single User System. Da hilft auch ein bischen Terminal Server Aufsatz nicht wirklich weiter. Will sagen, eventuell gibts immer nur die Infos des Consolenusers, würde mich nicht wundern.
Eventuell hilft es, wenn man beim Verbinden seine Rechte weitergibt (ist laut MS aber ein Sicherheitsrisiko):
Set objWMIService = GetObject("winmgmts:{impersonationLevel=Delegate}!\\.\root\CIMV2")
Bitte warten ..
Mitglied: kinggunta
12.02.2007 um 17:32 Uhr
Hab schon eine Lösung gefunden wie ich den Standardrucker des aktuellen users auslese
aber wie bau ich das jetzt in mein aktuelles script ein, damit er freigegeben wird?



Function StandardPrinter()
Set wshshell = CreateObject("Wscript.Shell")

key = "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\DEVICE"

StandardAlt = wshshell.RegRead(key)
StandardPrinter = StandardAlt
End Function
Bitte warten ..
Mitglied: bastla
12.02.2007 um 19:50 Uhr
Hallo kinggunta!

Mit einerl leichten Ergänzung Deiner Function würde ich es wie folgt versuchen:
01.
Function StandardPrinter() 
02.
Set wshshell = CreateObject("Wscript.Shell") 
03.
key = "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\DEVICE" 
04.
astrAlt = Split(wshshell.RegRead(key), ",") 
05.
StandardPrinter = astrAlt(0) 
06.
End Function
Auf Grundlage dieser Function könnte dann der entsprechende Programmteil oben etwa so aussehen:
01.
... 
02.
... 
03.
'Freigabe des Standarddruckers als DOSprinter und Zuweisung der LPT1 Schnittstelle 
04.
 
05.
strStandard = StandardPrinter() 
06.
 
07.
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Name='" & strStandard & "'",,48) 
08.
 
09.
For Each objPrinter in colInstalledPrinters 
10.
	objPrinter.Shared = TRUE 
11.
	objPrinter.ShareName = "DOSprinter" 
12.
	objPrinter.Put_ 
13.
	Set WshNetwork = WScript.CreateObject("WScript.Network") 
14.
	WshNetwork.AddPrinterConnection "LPT1", "\\127.0.0.1\Dosprinter" 
15.
Next 
16.
... 
17.
...
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications

VB-Script in VB-Script starten und Parameter übergeben

gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Batch & Shell

Probleme bei der Ausführung eines VB-Scriptes

Frage von AuricGoldfingerBatch & Shell1 Kommentar

Hallo zusammen, ich habe folgendes Script geschrieben: Leider bekomme ich bei der Ausführung den Fehler Was mache ich falsch?? ...

Windows Server

Drucker entfernen in VB-Script

gelöst Frage von NilsvLehnWindows Server2 Kommentare

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes. Ich habe ein IT-netzwerk an einer Uni übernommen. Ich arbeite ...

Entwicklung

VB Script Drucker hinzufügen

Frage von Marcel1989Entwicklung3 Kommentare

Funktionsweise sollte definitiv sein das mit einem Script sich 2 verschiedene Betriebssysteme ein und denselben Drucker holen. Mein Script ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken18 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte16 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...