Privileges - .net 1.1 TCPIP Printer Port Creation With CreateProcessWithLogon API?
May 22, 2009
A few months back I wrote a VB.net console application to migrate a group of about 100+ printers and the 1800+ users that use them from some old HP print appliances to a mixed Print Server and Direct to IP Printing solutions. The application uses a database to compare installed printers and remove old/invalid shares and remap to the new Win2K3 based print server OR create a TCPIP printer port and install the driver for direct to IP printing.
It worked really well, but users needed power user rights to create the TCPIP printer port. For the main campus this wasn't an issue, but the smaller remote sites need a solution that allows the app to be run by users without power user rights.
My solution was to take the "CreatePrinterIPPort" function and put it into it's own wrapper app and then call it as needed from the main app using a hard coded local admin account for the purpose, but I'm running into issues when spawning the createport app. If I run the app standalone it creates the port with no issue, but when I run it in my test app to spawn the createport using the CreateProcessWithLogon API the port creation fails with an "access denied" error. I'm limited to using .net 1.1 as 2.0 isn't in our environment throughly and I was told it wouldn't be pushed just for this app.
I'm trying to find a way to refresh the network IP of a printerport.as some smart cleaner at the office has figured out how to unplug stuff so she can use the vacumcleaner this networkprinter goes crazy and never gets back in the network correctly. to get around this i have to reboot our server which then reconnects the networkprinters. as i dont like to reboot this server at a almost daily base. im trying to find a way (preferably VBS) to get this done.
I have a program that connect to 2 printers at the same time. Ribbon Printer and Label printer.
I have set the ribbon printer to be the default printer of the server so that normal document printing can be printed using it. This is very simple and i already finsih the code for it.
However i have a Parallel printer at Port LPT1 which i wish to use it to print label. I have search online but find no solution on how to open connection to LPT1 and print the document in coding.What i can find i only send a window command to the port LPT
I'd try programming in vb.net with a usb to parallel printer but it doesn't appear as LPT Port Device. It show as a USB Printer Support in USB Controller. Just to receive and send a bit in different pin to be in servo controller/driver.
I want to print an array WebBrowser each time to a different printer without changing the default Printer (not to use the SetDefaultPrinter function) I tried to work with the PrintDocument object(he have the Print function and also i can choose a printer name) but I cant attach the
For my current application development I need direct printing technique,For the purpose I refer Microsoft Support page Titled"How to send raw data to a printer using VB.Net "The code snippnet specified is perfect for my application.Refers link [URL]But I need something more like Setting the Printer font to Condensed.By default my printer use the font 10cpi ,by using this font size I limited to print only 80char on A4 sheet,but I have more than 80 char on line so I prefer Condensed font size.
get a list of printer's (name,port,model) from a computer over the network. I know how to list my own, but it's from querying the Win32_printer object on my machine, I need to be able to do something similar on a remote machine.
1. Detect if my printer is busy, because my code tells the printer to print more pages that it can cope with, so I need to delay the command for 'Print the next page' until the printer has finished printing the previous one.
2. Shift the output to my printer so that it gets printed in it's entirety on the paper, instead of seemingly being anchored to some nebulous point on the A4 page. It starts printing at X = 29mm from the left edge, and Y is 28mm from the top, and stops at X = 22mm from the right edge and Y stops at 22mm from the bottom edge, leaving (aprox) 50mm of X and 50mm of Y unprinted.
3. Get useful information on Bounds, which I'm fairly certain is what I need to control where my printing should start and finish.
I've hunted through this forum, MSDN, 'Help' (a misnomer if ever there was one) the VB Library and one or two other forums, which either baffle me with reams of code or suggest code to try which either just don't work or which doesn't declare all the variables and usually don't suggest what type of variable I need, it's all very frustrating
I'm working on a server and i added a new function, to create a firewall rule for the connections. The problem is that when executed, it returns "The requested operation requires elevation (Run as administrator)."
How can i run the CMD at elevated privileges?
Here's the code.
Function ShellExec(ByVal command As String, Optional ByVal Elevated As Boolean = False) Dim psi As New System.Diagnostics.ProcessStartInfo("cmd.exe", "/C " & command)
I have a label printer (Argox 1000-x) and i want to print some datas on it. And this printer is connected to my computer via the COM1 port. I can open/write COM1. And when i send some data to printer through COM1, Label Printer's Ready Signal Led will be ON/OFF. But it does not print anything or any label..
I am using following code to get a directory of files with a particular extension. It throws an error that you donot have administrator privileges.[code]...
I don't know how to run my application with system level privilleges, so that it does not encounter any UNAUTHORISED ACCESS in any case and when in seen in TASK MANAGER the user shown will be SYSTEM.
how can i set administrator privileges selectively in my application depending on whether it needs to write a registry value or not?my app needs the elevated privileges once, then each subsequent execution needs standard permission.
Im am currently coding an application for auto updating ccleaner. Everything worked well until I enabled UAC.. I am using this project: [URL] to schedule the updating process, but when uac is enabled I get every time a message if I would let ccleaner installer make changes to my computer. The auto updating process must be done silently without bugging the user with prompts of uac.
When i manually check the "run with highest priviliges" box in task scheduler it does run without a prompt. But I can't seem to do this programmatically. Or I havent found it yet.
I wrote the code below to switch a user from DHCP to static networking (taking their DHCP assigned address and making it static). However on Vista and Windows 7 machines it does not work unless executed from within an escalated private command shell, even if the user executing it is a member of the local administrator group. I need to be able to email this script to users to execute on their computers (i.e. I have no remote access to them).
I found that snippet, edited it a little bit and now im trying to use it...the problem that ocurres, is that its never going into the first IF... so already there seems to be an error.Im working on XP SP3 with admin privileges..
Private Shared Function GetCurrentPrivileges() As Privileges If My.User.IsAuthenticated() Then If My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) Then
I would like to save let's say "HKLM/SOFTWARE" into file using API. First I open the key using RegOpenKeyEx. This works fine as I see that the ReturnPointer is different from zero and differs also when I switch from "SOFTWARE" to other subkey, therefore I assume no problem there.The problem comes when I want to save into the file. It creates only a blank file with return code of 1314. I have googled for this, but only found that this error means that application has no privilege to perform the action and I need to setup "SeRestorePrivilege" & "SeBackupPrivilege" property somehow. I haven't been able to find a good VB.NET example for this and as I am very weak with APIs I wasn't able to construct one of my own, therefore I would like to ask you for advice on this.Could you please help me on how to set the privileges so that I can export/import registry? [code]
I want to display a prompt to the user as such: "Program requires Administrator privileges to continue, click OK to restart the program with administrator privileges". The question is how can I restart my program so that it asks for them?
making a program that will have access privileges (for example, some users can add some kind of information but not other, or visualize some pages but not others). I want to make this access control by relating each button in my project and making it enabled or not to the users. For example, if the user can add only information A, the button "Add New A" will be enabled, but not "Add New B". For doing this, as my project have many buttons, i thought about a sub form relating every single button of every form in my project
Well on my application there is a check for update button and it needs administrative privileges in order for it to download the update (it needs to make a version change in the registry) and I don't have permission to. How can I make it so it asks for permission?