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

Frage Entwicklung VB for Applications

Mitglied: kinggunta

kinggunta (Level 2) - Jetzt verbinden

12.02.2007, aktualisiert 19:50 Uhr, 6192 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
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 2 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit7 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...