Change Epson Cash Drawer setting - powershell

I'm looking for a way to change the settings that control the cash drawer either with powershell, vbscript, batch, etc. We have over 40 stores with several registers each. All of those receipt printers were originally configured to open the cash drawer before each print. I have updated our POS software such that it now sends the correct code to prompt the printer to open the drawer only when it is needed (cash transaction, not credit/debit). I'm looking for a way to update the driver setting for all of these printers without having to manually adjust each one. The computers are running Windows 7.
I have tried using PowerShell with some combination of Get-Printer and Set-PrinterProperty, but those cmdlets are not available with Windows 7. I've tried using cscript prncnfg.vbs, but there are no configurable settings options with that command that I could use for this specific settings.

There are only so many places that settings can be saved (Registry, File...). Use Sysinternal's Process Monitor to monitor where the setting is changed.
Start the application.
Just before you go to configure the setting, start capturing in Process Monitor.
Make the change to the setting.
Stop capturing in Process Monitor.
Filter by the PID or Process Name.
Look for write operations to the registry or a file that might represent that setting in your application.
Verify the setting by making changes manually and checking in the application GUI.
You can then use batch, Powershell, VBS, DSC, SCCM or whatever to make that change for all of your clients.

Related

Allow Safely Remove Media in GPO

I have a system that I want to lock down, only running certain programs.
All is working so far when I use "Run only specified Windows applications" (under Local Computer\User Configuration\Administrative Templates\System) except when I try to add an option to remove media.
I have the policy enabled with a list of all applications I want to be able to load. And this: "rundll32.exe shell32.dll, Control_RunDLL HotPlug.dll"
but when I run my shortcut for this I just get the error "This operation has been cancelled due to restrictions in effect on this computer. Please contact your system administrator"
I saw someone online with a similar problem with rundll32.exe but that was with a printer and they got it working by adding a printui.dll. Am I missing something or doing something wrong or is this not possible? I need this option because I have to disable right click in our locked down system.

How can I completely reset Powerhsell?

I'd like to reset every single change made to Powershell. Including permission, window sizes, colors, formatting, etc. As if I just installed Powershell on my machine, totally virgin.
Is there a way to do this with one command?

AutoHotkey ImageSearch failing to find matches

I have servers with an AutoHotkey script running on them, that I access via TeamViewer.
Sometimes AutoHotkey fails to match an ImageSearch even when the image it matches is captured from the displayed screen using Windows' Snipping Tool.
This only happens on some servers but not others. I have tried using ImageSearch *n shade variation, to no effect.
What could be causing the issue?
This can happen when TeamViewer is allowed to choose its own quality settings based on your connection to the server. If TeamViewer decides to use low quality settings for a connection, it will enable the Windows Basic Theme on the remote computer, potentially breaking AutoHotkey ImageSearch for some types of windows.
You can solve this by selecting custom settings in your own TeamViewer options when connecting to other clients.
Go to Extras -> Options -> Remote Control
Select Custom Settings from the Quality dropdown.
Slide both sliders to the max (the right).
Enable the Aero color scheme.
Disconnect from any open sessions and when you next connect, TeamViewer will not set the theme to Windows Basic.

Change compatibility mode/run as using logon script

We have 200+ freshly imaged machines and have learned that in some of them Audacity does not work properly. For some reason, on certain (seemingly random) machines, Audacity needs to be in XPSP3 compatibility mode to run properly and be run as an administrator. Since we have 200+ of these, we are trying to find a way to tell a logon script to change Audacity for us. That way, all we have to do is start the machines and log in. I have looked around and haven't found much. Is this even possible? Thanks
To set these on a system wide basis you just need to push out a reg file like so:
-----------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Full\\Path\\To\\File.exe"="WINXPSP3"
-----------------------------------
There are additional options if you need them, manually set some yourself and check this registry key.

Is there a way to automatically log onto a Windows XP machine at specific time?

How to set a specific logon time for a specific user on Windows XP?
For example, the computer is an "always on machine" and most of the time no one is logged on. I want to set a time for my user to log on, without someone actually having to be in front of the machine. I've tried a workaround with the built-in auto logon function (control userpassword2), but I still need a secure system as I'm not the only user, and would still want a password even if I was the only user.
I have searched for third party software, but to no avail. I've a good knowledge of batch and Python scripting and a little of Java, so any pointers with any of those would help.
How can it be "secure" if it logs you on without you being there? Surely it would be better for it to wait for you to type in a password (i.e. the login prompt)?
If you want a fast "startup" time, then you can lock the workstation (ctrl+alt+del to open the Task Manager and then click 'Lock'. This shows a dialog just like the login prompt, but when you enter your password you instantly continue your existing session). Or if you want to be more eco friendly, put your PC into Sleep mode, which most PCs will return from (again with an optional password prompt) in less than 5 seconds.
One way I just thought of: Run a Vnc Server, and hack into an open source viewer program. Then you can rig it with some code to pass keyboard commands back into the computer, maybe implement some screen scraping to make sure it only does it when appropriate.
But seriously, there has to be a better way. Why are you trying to do this?