ServiceNow – adding currency & country conversions

This week we were tasked with including another country’s currency in to our Procurement system within ServiceNow, with the added desire to convert the currency automatically. It wasn’t too crazy, but every community post I saw mentioned the “Country Code” aspect of it as if it were enabled by default. And I wasn’t able to find a specific guide about how to do it. To remind myself in the future:

Define your instances country for default currency. It’s implied but not defined at least in the instance we have access to. That can be done in the Locale Code section of System Localization. They are two letter language . two letter country code. Here is the list of acceptable options.

Then we had to add the Country to the User form. That was just as simple as modifying the form layout to include it. Afterward, adding the country, by name, including the three letter country code to the Choice List.

And finally, including the currency if it doesn’t exist already. Like the country we added we were surprised it didn’t already exist. But adding it as a currency and having our procurement form include the option led to the type of behavior we wanted: depending on the users country, all currency on the instance is converted automatically, behind the scenes.

Dameware, error 2 work-around

At work, we continue to lock-down our systems to the point of detriment for the techs. Tools we’re supposed to rely on, often won’t work because of some security change that wasn’t tested thoroughly enough. I’ve been running in to “Error 2: the system could not find the file specified”. Here’s the fix for that:

Copy this list of files below from your Dameware installation folder, or copy the folder from a working client machine from C:\Windows\DWRCS – that’s literally it.

  • cpprest110_xp_1_2.dll
  • Dameware.LogAdjuster.exe.config
  • Dameware.Diagnostics
  • Dameware.LogAdjuster.exe
  • DWRCChat.dll
  • DWRCK.dll
  • DWRCRSS.dll
  • DWRCS.EXE
  • DWRCS.Logging.xml
  • DWRCSE.dll
  • DWRCSET.dll
  • DWRCSh.dll
  • DWRCST.EXE
  • DWRCST.Logging.xml
  • DWSGRWRP.dll
  • ICSharpCode.SharpZipLib.dll
  • log4cxx.dll
  • log4net.dll
  • LogConfigurations.xml
  • SolarWinds.Logging.dll
  • SolarWinds.Orion.Common.dll
  • SolarwindsDiagnostics.exe
  • SolarwindsDiagnostics.exe.config

If you need the 64-bit versions, the same file names are appended by .x64, just rename those to the .dll or .sig or .extension it’s filename w/o the .x64 has and place in the same directory.

SCCM’s Remote Control Viewer

Sometimes, I run into a machine at work that refuses to let me connect with SCCM. Some policy is likely responsible, but since I moved from the SCCM team I’m left to find clever ways around it. The following registry keys can be used to change Configuration Manager Remote Control (CMRC) connection settings.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Client\Client Components\Remote Control
Access Level "2"
Allow Local Administrators to do Remote Control "1"
Allow Remote Control of an unattended computer "1"
Enabled "1"
Firewall Exception Profiles "f" (hex, 15 decimal)
Permission Required "0"
PermittedViewers "domain\accountname" (enter acct/group name)
Remote Control Security Group SID "SID of group to connect"

You can get your the SID of your group pretty easily. just run:

Get-LocalGroup | select name,SID

or for domain grop

Get-ADGroup -Identity "Groupname" | select name,sid

Either should give you want you need for that entry.

Ignoring UAC

set __compat_layer=RunAsInvoker

That simple environmental variable will allow you to ignore the UAC prompt and still execute the program (or at least try to). You still won’t have administrator privileges but sometimes, in a corporate environment, you run into a program that’s being blocked due to (poor) blanket security configuration.