I'm still trying to inventory network printers on computers. The script
below is a combination of the two scripts mentioned here:
https://gallery.technet.microsoft.com/SCCM-2012-NETWORK-PRINTER-776b59b4

 

I deploy it as a package that runs only when a user is logged on. It runs,
but only does the first part of the script. It creates a new registry entry
under HKLM\SOFTWARE\Wow6432Node called SCCMINVENTORY, and another under that
called NETWORKPRINTERS. But the printers do not enumerate. If I run the
script locally, they do. Any ideas why?

 

#Configure Registry

if (!(Test-Path HKLM:\SOFTWARE\SCCMINVENTORY)) {new-item
HKLM:\SOFTWARE\SCCMINVENTORY  -ErrorAction SilentlyContinue} 

$perm = get-acl HKLM:\SOFTWARE\SCCMINVENTORY  -ErrorAction SilentlyContinue 

$rule = New-Object
System.Security.AccessControl.RegistryAccessRule("Authenticated
Users","FullControl", "ContainerInherit, ObjectInherit", "InheritOnly",
"Allow")  -ErrorAction SilentlyContinue 

$perm.SetAccessRule($rule) 

Set-Acl -Path HKLM:\SOFTWARE\SCCMINVENTORY $perm  -ErrorAction
SilentlyContinue 

if (!(Test-Path HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS)) {new-item
HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS -ErrorAction SilentlyContinue}

 

#Enumerate Printers

$printers = Get-WMIObject -class Win32_Printer -ErrorAction
SilentlyContinue|select-Object -Property
ServerName,ShareName,Location,DriverName,PrintProcessor,PortName,Local
|Where-Object {$_.Local -ne $true}-ErrorAction SilentlyContinue 

ForEach($printer in $printers){ 

    $PServerName= $printer.ServerName -replace ('\\','') 

    $PShareName = $printer.ShareName 

    $PLocation = $printer.Location 

    $PDriverName = $printer.DriverName 

    $PPrintProcessor = $printer.PrintProcessor 

    $PPortName = $printer.PortName 

    if ((Test-Path HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS)) { 

        if ((Test-Path
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"))
{ 

            Remove-item
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Force -ErrorAction SilentlyContinue 

        } 

        New-item "HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName
on $PServerName" -ErrorAction SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrintServer" -Value $PServerName -PropertyType "String" -ErrorAction
SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrinterQueue" -Value $PShareName -PropertyType "String" -ErrorAction
SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrinterLocation" -Value $PLocation -PropertyType "String"
-ErrorAction SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrinterDriver" -Value $PDriverName -PropertyType "String"
-ErrorAction SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrintProcessor" -Value $PPrintProcessor -PropertyType "String"
-ErrorAction SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "PrinterPortName" -Value $PPortName -PropertyType "String"
-ErrorAction SilentlyContinue 

        New-ItemProperty
"HKLM:\SOFTWARE\SCCMINVENTORY\NETWORKPRINTERS\$PShareName on $PServerName"
-Name "DateInventoried" -Value $(get-date) -PropertyType "String"
-ErrorAction SilentlyContinue 

    } 

} 

 

 

 

Best Regards,

 

Mike Murray

Desktop Management Coordinator - IT Support Services

California State University, Chico

530.898.4357
 <mailto:[email protected]> [email protected]

 

Remember, Chico State will NEVER ask you for your password via email!  

For more information about recognizing phishing scam emails go to:
<http://www.csuchico.edu/isec/basics/spam-and-phishing.shtml>
http://www.csuchico.edu/isec/basics/spam-and-phishing.shtml

 

 



Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to