Monday, July 31, 2023

Using powershell to get the status a a machine using Faronics Deep Freeze




I work with a few organizations that use Steady State software and most of them use Faronics Deep Freeze.  Deep freeze works pretty well for the use case which is securing publicly available computers. So not keeping any passwords, resetting software etc.  However one problem hat has come up with using the software is when doing updates you have "un-freeze" the computer, and even with deepfreeze cloud (at least my experience has been) there is a delay in the system updating if a machine is frozen or thawed.  In some cases taking up to 30 minutes; however that was some time ago and Faronics may have improved that.  However due budget cuts at a few of the organizations I work with they are just using Deep Freeze on Prem with no cloud service.  The only notification you get as to the status of deep freeze is a little bear head on the task bar.


The Bear head with out the X means the system is Frozen (steady stated)  The bear with the X means the system is unfrozen and changes can be made to the system.

There has been more then one occasion that a system has been worked on and left in a un-frozen state after the work has been updated.  So to remedy this problem I created this powershell script 

Freezestatus.ps1

#Get the latest deep freeze log

$event = Get-WinEvent -LogName Application | Where-Object {$_.ProviderName -Match 'Deep Freeze'} | select -first 1

#write the status to an xml file

$event.ToXML() | Out-File -FilePath C:\comptools\status.xml

#wait 3 seconds before you get the item status

Start-Sleep -s 3

#Load the XML file

[XML]$xmlfile = Get-Content C:\comptools\status.xml

#Check the value of the XML file see if it is "Thawed"  If it is send an alert to the IT Department

if ($xmlfile.Event.EventData.Data -eq 'Thawed'){

#Put any alert/code you want to use here in this example I have a window popup; I would recommend sending an email or updating some sort of dashboard with the system status.

Add-Type -AssemblyName PresentationFramework

[System.Windows.MessageBox]::Show('Thawed')

}

Friday, July 28, 2023

How to setup a ITC 5400 Paystation (Coin-Op) for use with papercut

 


I've recently just setup a new Coin-Op and printer to use with papercut. It is very fancy taking debit, credit bill and coins. This post will guide you though the settings for configuring the Coin-Op for use with Papercut and the settings for using credit/debit.

To start there is a config file from the vendor ITC.  It should be located in the “root/extensions/credit-sources” folder.  The filename is X5400CreditSource.properites. The papercut print release system communicates to the coin-op using a USB to Serial cable. I've had very good success with the FTDI chipset for these cables.






It has all the setting for communicating with the Coin-Op

##########################

## DEVICE CONFIGURATION ##

##########################


#

# Serial port identifier

#

port=COM3


###############################

## SERIAL PORT CONFIGURATION ##

###############################


#

# Baud rate to use on serial port

#

baud-rate=9600


#

# Data bits to use on serial port

#

data-bits=8


#

# Stop bit to use on serial port 

#

stop-bits=1


#

# Parity to use on serial port. Options are: 

#    [0] none 

#    [1] odd

#    [2] even

#    [3] mark

#    [4] space

#

parity=0



############################################

## ADVANCED CONFIGURATION; AVOID ALTERING ##

############################################


#

# Maximum number of write attempts to serial port (if the first should happen to fail)

#

retries-write=10


#

# Maximum number of read attempts to serial port (if the first should happen to fail)

#

retries-read=10


#

# Maximum number of tries to receive a valid response from the device

#

retries-valid=5


#

# Timeout for connecting to serial port

#

timeout-connect=750


#

# Timeout for reads/write to serial port

#

timeout-device-response=1000


#

# Timeout for receiving a valid message from device

#

timeout-messenger-receive=1500


#

# Time to wait for controller thread to finish 

#

interval-wait-end-session=750


#

# Time to wait before reading response once signaled its available

#

interval-wait-read=100


#

# Time to wait for RMI server to start

#

interval-wait-rmi=250


#

# Polling interval for response availability

#

interval-poll-messenger=25


#

# Polling interval for available credit

#

interval-poll-controller=50


#

# Interval for retrying read/writes

#

interval-retry=25


Ensuring thatOn the coin-op there are 4 buttons moving and modifying settings as shown below.


The MENU button moves you back a menu if you're in a level deeper than the first level; Enter will take you down the levels of the menu and UP/DOWN with cycle you though the menu or allow you to change options.  Below are what some typical settings could look like for the coin-op to operate properly and are what the costs are. You will note I have the cash and the credit price set as the same.  You can make these prices different for the different types of payment formats. It depends on what you want. In this case I want the price to be the same if you are paying with either cash or credit. Please note these settings can only be modified when the Coin-Op is in bypass mode and making changes to these settings require rebooting the Coin-Op.  This is done by pulling the power cable.


System Setup -> Com3 Parity -> Set to NONE

Print Type -> Set to Protocol 1 (Papercut Connection)

Prices Cash -> line 1 Cash cost -> $1.00 (black and white)

Prices Cash -> line 2 Cash cost -> $2.00 (colour)

Prices Credit -> line 1 Credit cost -> $1.00 (black and white)

Prices Credit -> line 2 Credit cost -> $2.00 (colour)

Coin Changer -> Return Escrow -> Anytime (cash return - coins)

Print Setup -> Com Port? -> Com 1 (Printer Connection)


Papercut communicates with the Coin-Op though COM 3 any printer setup to charge for coping would typically use COM 1.  The papercut communication is enabled though the Print Type-> Protocol 1 which uses the COM 3 port for this post.


If you are setting up a new coin-op that you are charging people for copying/printing this should get you up and going.


Tuesday, July 04, 2023

How to upgrade a graphics card.

I had setup a computer about 12 years ago to be used as a cad station.  I had just recently updated it's hard drive from a 500GB SATA HDD to a 1TB SSD. 

Here are the Specs


The video card being replaced is an ATI V4800 Fire Pro with 1 GB of Video Ram

https://www.techpowerup.com/gpu-specs/firepro-v4800.c572

With updated system requirements Revit 2023 Video card requirements are

Video AdapterBasic Graphics:
Display adapter capable of 24-bit color

Advanced Graphics:
DirectX® 11 capable graphics card with Shader Model 5 and a minimum of 4GB of video memory

https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/System-requirements-for-Autodesk-Revit-2023-products.html

The Fire Pro is being replaced with a Nvidia 1630 which is about 80% faster or almost 5X Faster; dispite the 1630 being a 64bit Videocard vs the 128bit V4800.



So the first step is to remove any software before uninstalling the driver in this case we need to remove the CCC (Catalyst Control Center) then we can remove the display driver for the system.


You will want to removal ALL AMD Software


Uninstall All Versions


Once the uninstaller has finished I selected no because I also want to ensure the software driver was removed.  

Once verified I shutdown the system.  Replaced the V4800 with the Nvidia 1630.  Installed the driver and verified Revit could see the card. 


If you are replacing a Nvidia videocard with an AMD videocard; follow the same process but make sure all the Nvidia software is removed before you install the AMD Videocard.




How to fix CURL call imporitng an RSS feed on a site blocking CURL calls

There is a 3rd party service provider that my organization uses called bibliocommons.  They have these nice book carousels.  However the car...