-3

So I have taken on a new project and need some help with some parts. What I am needing to create is the following:

A tool that my SA's can keep on their desktop to run when a customer needs a printer installed remotely from our print servers. I need the tool to:

-Allow the technician to enter in the remote computer name -Create a drop down menu listing all of the print servers (apprx. 6 servers in use) -Create another drop down that lists all available printers -Potentially create the ability so that I can filter out returnable results in the drop down as there are more printers listed on the server than we use in our AO. It would be nice to display only the ones that we care about.

I have a feeling that this will turn into a .vbs which I have near 0 experience in. I am not looking for anyone to create it for me, rather how would you go about putting something like this together? It doesn't need to be fancy, just usable and quick and easy to use.

MjrPayne
  • 105
  • 1
  • 12
  • 1
    Beging by googling, someone may have created something pretty close to what you need! If all else fails, read my answer on how to go about scoping and breaking this down, and which task to do in order. – FoxDeploy Aug 18 '21 at 15:19
  • 1
    Don't do this unless there is no other approach. Google! For instance... https://www.pdq.com/blog/using-powershell-to-install-printers/. This cautions you away from using PowerShell and instead doing it via WMI or Group POlicy. – FoxDeploy Aug 18 '21 at 15:21

1 Answers1

1

How to scope tasks

When I was just starting out and had zero experience, it helped me to have someone break a huge task into a list of solvable tasks.

I will do that for you. Now, as someone who has done this sort of thing a LOT I would qualify this as a 3.5 or 4 out 5 stars difficulty rating task. It is pretty hard with a lot of moving pieces.

Here are the overall work items to make this happen, with my expected difficulty rating for each.

This is a very complex project for a new-comer. Here are the core tasks you're trying to do here.

Remoting

You'll need to be able to run commands on a remote computer with admin context (needed for adding a printer). This requires organization wide firewall/security changes, allowing WinRM. This is a 'big rock' item and takes coordination. So a Proof of concept would be getting this command to work.

Invoke-Command -ComputerName someOtherHost -ScriptBlock {write-host "Online from $($env:computername")}

Difficulty : 4 /5 ⭐

Printer Enumeration

Start on your local PC and then figure out how to do what you want, as in display a list of printers. This isn't too bad. But then you'll have to migrate this to run on a remote PC.

Difficulty : 2 /5 ⭐

Generate a GUI

Thus you enter the realm of advanced scripting. There be dragons here. You can find plenty of guides (I even wrote a bunch on them, you can find them in links from my profile).

Difficulty : 6 /5 ⭐

Bind to input and For-Each

This is honestly the easiest part, the flow control of mapping printers, doing this once per each printer the user picks.

As a proof of concept, can you take a known working printer and be able to install it from your local workstation? Get this working and then you have a Install-Printer function you can call with the rest of this tool.

Difficulty : 3 /5 ⭐

Overall difficulty - 4 / 5 stars. Expected Time - Expert - 2~3 days Novice - Upwards of 2 weeks or more.

FoxDeploy
  • 12,569
  • 2
  • 33
  • 48