Change Autodesk Licensing Mode (Post Install)

We recently changed the licensing type for Autodesk 2021 Products (AutoCAD, Inventor, Plant 3D, 3ds Max, etc.) from a license server to individual users. This is the method I used, based on the Autodesk website, by using the product key, product version and the Licensing Installer Helper tool:

https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/Use-Installer-Helper.html

  1. Go to the directory:
    %CommonProgramFiles(x86)%\Autodesk Shared\AdskLicensing\Current\helper
  2. Run the command:
    AdskLicensingInstHelper.exe list
  3. Make note of def_prod_key and def_prod_ver for each product you want to change
  4. Run the change command. In this example I was changing it from Network to User licensing but Standalone is also available.
    AdskLicensingInstHelper.exe change –pk (place value of def_prod_key here) –pv (place value of def_prod_ver here) –lm USER
  5. Test by launching the product

Note: for Inventor, I had to modify the licensing for the feature_id INVNTOR and also INVPROSA

Posted in Uncategorized | Leave a comment

Disable Lock Screen Windows Server 2022 Remote Desktop Session Host

I had a Windows Server 2022 RDSH terminal server that was moved to a new domain and would persistently lock the screen on idle for all users including administrators and require them to log in again.

Most guides reference the below Group Policy options, but none of these applied:
Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Session Time Limits

What I found was a setting that had been applied by a GPO in the previous domain and it retained the value when the server was joined to the new domain (which did not have the same GPO).

Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options > Interactive logon: Machine inactivity limit

Setting it to zero seconds prevented the issue from reoccuring.

Posted in Uncategorized | Leave a comment

Move Google Chrome Session From One Computer to Another

These are the quick and dirty steps I used to perform a complete migration of Chrome from one system to another. It will transfer bookmarks, open tabs and all history. In my experience Settings had to be reconfigured and Chrome Extensions reinstalled.

Based on the guide provided at the below site:
https://workconsultants.com/blog/move-google-chrome-profiles-to-a-new-computer

  1. Install Chrome on both machines
  2. Close Chrome on both machines. Check task manager for any chrome.exe processes that may not have shutdown properly.
  3. Export this registry key on source machine:
    [HKEY_CURRENT_USER\Software\Google\Chrome\PreferenceMACs]
  4. On destination machine, rename the same registry key to: PreferenceMACs-bak using Registry Editor.
  5. On source machine, copy/zip the User Data folder:
    C:\Users\Grant.Kniefel\AppData\Local\Google\Chrome\User Data
  6. On destination machine, rename the same folder to: User Data-bak
  7. Copy/extract the User Data folder from source machine to destination machine at the same location
  8. On the destination computer, import the registry key that was exported from the source machine.
  9. Test Chrome on the destination machine
Posted in Uncategorized | Leave a comment

pFsense Goes Unresponsive (no GUI or internet)

Running version 2.6.0.  After about 3 weeks of boot time, pFsense would lose connectivity. Requests to the internet would fail and the pfSense GUI web interface was unreachable. The console displayed a repeated error swap_pager_getswapspace(x): failed.  The dmesg log contained a list of errors for several services that were terminated (dhcpd, dnsmaasq, mpd5, nginx, php) with error message: pid xxxxx (service), jid x, uid y, was killed: out of swap space. In some cases you can use the top -o res -a command to sort by memory usage and find that bzip2 is consuming all resources.

The solution was to disable log compression under Status->System Logs-> Settings -> Log Compression -> then change to None.

Posted in Uncategorized | Leave a comment

Secure Wipe on OMV (and Debian Linux)

I wanted to use the command line to Secure Wipe a hard drive in OpenMediaVault, based on Debian Linux. I used the built in shred command, details are available at the link below:
https://manpages.debian.org/stretch/coreutils/shred.1.en.html

For example, I like to use the following combination (based on the device number found under Storage->Disks in the GUI):

 shred -vfz /dev/sdX

Verbose, force permissions and a final write of zeros (total 4 passes). This is in contrast to the OMW default, which is a single pass:
https://openmediavault.readthedocs.io/en/6.x/administration/storage/disks.html

shred -v -n 1 /dev/sdX
Posted in Uncategorized | Leave a comment

OMW Unable to Delete Shared Folder

When attempting to delete a shared folder with OpenMediaVault, I received the following error (after clicking show details):

Error #0: OMV\ExecException: Failed to execute command ‘export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; rm -f -r ‘/srv/dev-disk-by-label-EXMPLE/’ 2>&1′ with exit code ‘1’: rm: cannot remove ‘/srv/dev-disk-by-label-EXAMPLE/’: Device or resource busy in /usr/share/php/openmediavault/system/process.inc:196 Stack trace: #0 /usr/share/openmediavault/engined/rpc/sharemgmt.inc(519): OMV\System\Process->execute() #1 [internal function]: Engined\Rpc\ShareMgmt->delete(Array, Array) #2 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array) #3 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod(‘delete’, Array, Array) #4 /usr/sbin/omv-engined(537): OMV\Rpc\Rpc::call(‘ShareMgmt’, ‘delete’, Array, Array, 1) #5 {main}

In most cases this is because a service is still using the Shared Folder (such as a share). However in this case it was due to configuration of the Shared Folder.  The Relative Path of the Shared Folder was set to “/” in OMV. The fix was to adjust the Relative Path to be a folder, such as “/FolderName” then apply the configuration.

Posted in Uncategorized | Leave a comment

OMV ESXi Mount NFS Datastore Problems

I had created an NFS share on OpenMediaVault, named EXAMPLE, with the following ACL permissions:

Owner: root, read/write/execute
Group: users, None
Others: None

When trying to mount the share (EXAMPLE) in ESXi,  the following error would occur:

Failed to mount NFS datastore EXAMPLE – Operation failed, diagnostics report: Cannot open volume: /vmfs/volumes/xxxx

The issue was permissions on the OMV side. By default NFS will squash root requests to anonymous.  There are 2 options, either will work, depending on your preference:

  1. Enable anonymous access on the OMV Shared Folder:  set the ACLs for Others to read/write/execute. Alternatively, you can change the Owner to nobody.  Be sure to set the Recursive option.
  2. Enable no_root_squash on the NFS Share

Then try to mount again.  If you receive this error

Failed to mount NFS datastore EXAMPLE – The name ‘EXAMPLE’ already exists.  Then run this in ESXi CLI

esxcli storage nfs remove -v EXAMPLE

Posted in Uncategorized | Leave a comment

Add sysadmin role to a user in Microsoft SQL Express

  1. Stop SQLExpress service
  2. Run Command Prompt with administrator rights
  3. Find your install folder, for example
    C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn
  4. Start SQL Express in single-user mode:
    sqlservr.exe -sSQLEXPRESS -m”SQLCMD” -c
  5. Open another Command Prompt window (with administrator rights) and connect to the running instance of SQL Express:
    SQLCMD -S .\SQLEXPRESS
  6. Run three commands, modifying the first as appropriate for your user to grant them the desired role:
    sp_addsrvrolemember 'DOMAIN\user', 'sysadmin'
    
    go
    
    quit
  7. Go back to the running instance and kill it with Control-C
  8. Start SQLExpress service
  9. The user specified above should now have sysadmin Server Role
Posted in Uncategorized | Leave a comment

ESXi iSCSI datastore no longer mounts after HBA upgrade

For a storage upgrade, I swapped out two HBAs, an SAS9341-8i (SAS3) and a Dell PERC H310 (SAS2).  The 9341 was changed to a 9300-8i and the PERC was replaced with another 9300-8i.

The storage was acting as iSCSI targets for two ESXi datastores. For the LUN originally attached to the SAS2 card, the device could be seen in ESXi (under storage->devices) however the datastore would not mount. The datastore that was originally on the 9341 card was fine.

ESXi logs (monitor -> logs -> /var/log/vmkernel.log) showed that the device was “detected to be a snapshot.” VMware has as KB describing this problem where ESXi cannot confirm the identity of the LUN attached to the new SAS3 adapter.
https://kb.vmware.com/s/article/1011387

The steps used to fix the datastore that would not mount:

  1. Find the device
    esxcli storage vmfs snapshot list
  2. Resignature the device and mount
    esxcli storage vmfs snapshot resignature -l “LABEL OF THE VMFS”
  3. Check ESXi datastores (Storage-> datastores)
    You should see it appear with a new name “snap-xxxx-LABEL OF THE VMFS”
  4. Rename the datastore as appropriate

Notes: Registered VMs on that datastore had to be reregistered. Also VMs that used hard drives on that datastore had to updated in the configuration for the new signature.

Posted in Uncategorized | Leave a comment

PHP 8.0 Upgrade on Ubuntu 18.04 with phpmyadmin

After upgrading to PHP 8.0 and installing phpmyadmin using the official PPA, phpmyadmin would result in a blank page instead of a login.  The apache2 error.log had several lines of :

Got error ‘PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/share/php/tcpdf/tcpdf.php on line 16893’

The fix was to manually upgrade the php-tcpdf package:

sudo apt-get install php-tcpdf php-tcpdf

 

Posted in Uncategorized | Leave a comment