[2003] WMI access denied bij mass printers aanmaken

Pagina: 1
Acties:

  • Mauzer
  • Registratie: Oktober 2001
  • Laatst online: 20-02 15:04
Salut tweakers,

De afgelopen dagen heb ik een aantal 2003 standaard servers geinstalleerd als terminal server. Op elk van deze servers moeten 40 printers worden geinstalleerd. Dit is goed te doen door gebruik te maken van WMI scripts. Hiervan heb ik er 2, waarvan de eerste wordt gebruikt voor het aanmaken van de IP ports, en de 2e voor het aanmaken van de printer.

Voorbeeld:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_

objNewPort.Name = "IP_192.168.1.6"
objNewPort.Protocol = 1
objNewPort.HostAddress = "169.254.1.6"
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

objPrinter.DriverName = "HP Laserjet 2100"
objPrinter.PortName   = "IP_192.168.1.6"
objPrinter.DeviceID   = "AM_BA_BR"
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = False
objPrinter.Put_


Als je je hoofd schuin houdt, en je knijpt 1 oog dicht, dan zie je denk ik wat de code zou moeten doen. Alle drivers die worden gebruikt heb ik handmatig geinstalleerd op de server. Dit kan ook d.m.v. een script, maar omdat er slechts 4 verschillende printerdrivers worden gebruikt, vond ik het niet noodzakelijk om hiervoor een script te maken.
Als ik een van de scripts draai in Windows 2003 Standard Geconfigureerd als terminal server, krijg ik deze melding:

Afbeeldingslocatie: http://btb.demon.nl/wmimelding.jpgAfbeeldingslocatie: http://btb.demon.nl/wmimelding2.jpg

Bij Put_, het daadwerkelijk aanmaken van de port of printer, weigert windows dus het command. De volgende logische stap was om het in windows XP te testen. Hier worden alle poorten binnen een seconde zonder gerommel aangemaakt, en geeft het aanmaken van de printers pas een foutmelding zodra een printer wordt gemaakt waarvan de driver niet in mijn laptop staat.
Er zit dus geen fout in het script. Uiteraard ben in aangemeld als administrator. Zie ik misschien iets over het hoofd? Op de Technet Discussion Group voor Windows Server Scripting Zijn er meerdere mensen die last hebben van het probleem. Echter is ook daar niks te vinden over een eventuele oplossing.

Op internet zijn er zat mensen hetzelfde probleem hebben , maar niemand lijkt met een concreet antwoord te kunnen komen.

Het script is van de Microsoft Script pagina, waar aangegeven wordt dat het voor zowel Windows XP als 2003 moet werken.

Dank!

Wololoo


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik ga er even van uit dat je als administrator bent ingelogged :)

Wat misschien de moeite waard is, is om handmatig een TCP/IP port aan te maken (mte behulp van de GUI), en deze dan in te lezen in je script. Zie je dan misschien andere soorten properties of iets dergelijks? :)

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

FF voor de zekerheid: die "2003 Standard servers" zitten in een domain en jij bent aangelogged als Administrator van dat domain?
En dat handmatig installeren van de divers heb je ook gedaan als domain admin?
En je hebt je er ook van verzekerd dat de NetworkService voldoende rechten heeft in de WMI namespace?
  1. Open the WMI Control Microsoft Management Console (MMC) snap-in.
  2. Right-click WMI Control, and then click Properties.
  3. The WMI Control Properties dialog box opens.
  4. Click the Security tab, and then locate the root/CIMV2 namespace. Click Security.
  5. In the dialog box that appears, grant the NetworkService all permissions that are listed.
  6. Click Apply or OK to close all open dialog boxes.

QnJhaGlld2FoaWV3YQ==


  • Mauzer
  • Registratie: Oktober 2001
  • Laatst online: 20-02 15:04
De terminal servers zijn inderdaad allen aangemeld aan hetzelfde domein. De settings die je in je post beschreef heb ik toegepast op een van de servers, maar hebben niet geholpen. Ik ben als domain administrator aangemeld op de server, maar heb het eerder ook al geprobeerd als local administrator.

Verder heb ik geen idee hoe ik de settings van een printerport moet uitlezen d.m.v. een script, Elevator.

Wololoo


  • Mauzer
  • Registratie: Oktober 2001
  • Laatst online: 20-02 15:04
Even een bescheiden kick.

Het probleem bestaat nog steeds, op andere fora is er ook nog niks te vinden.

Wololoo