Jump to content
Sign in to follow this  
Quenten Grasso

Update Computer Name with Logged on Username

Recommended Posts

Hey Fellow PW users,

I've created a script which allows the system to change its name to %computername%-Current logged on username, which makes life a little easier when trying to remote to their computers on the remote control tool/Webapp.

To get started, create your script in the script editor, in my example,

Name: Update Computer Name with Logged on Username

Windows/Powershell Code: 

$pwqusers = quser | Select-Object -skip 1
$pwquserfmt = $pwqusers.substring(1,22).Trim() -join ","
Set-ItemProperty -Path "HKLM:\Software\MMSOFT Design\PC Monitor\" -Name ComputerName -Value "$env:computername-$pwquserfmt"

Click Save.

Next we create at new task,

Name: Update Computer Name with Logged on Username

Current Scope -> Windows Workstations

Enable Scheduling -> (I've set it to run once a day) Every weekday (Monday to Friday), starting on 12 August 2018 at 09:00 (Australia/Brisbane)

Scripts tab, Select/add your new script you just created and once that's done click save.

You can now run the task on demand as well which will update all of the PC's in your windows workstations scope to Computer Name-Logged on usernames

This works for RDSH hosts as well however it could get a bit of out hand if you have 5-10+ users logged in so I probably wouldn't recommend it to be used on servers.

I Hope this helps you somehow, these scripts/suggestions come with no warranty and I bear no responsibility if this breaks anything, use at your own risk etc..etc..

Cheers,

Quenten

Edited by Quenten Grasso

Share this post


Link to post
Share on other sites

So I wanted the full display name so I have updated your script.

$dom = $env:userdomain
$getusr = quser | Select-Object -skip 1
$usr = $getusr.substring(1,22).Trim() -join ","
$display = ([adsi]"WinNT://$dom/$usr,user").fullname
Set-ItemProperty -Path "HKLM:\Software\MMSOFT Design\PC Monitor\" -Name ComputerName -Value "$env:computername - $display"

 

Share this post


Link to post
Share on other sites

I had written something similar resently and posted, I tested yours and I don't think your pulling in the last logged in user just machine name as I could not get to run, when you run this as a script in session 0 it does not get the current logged in user, it seems to be pulling in session 0 which is blank  

 

Also, If I may, I suggest you run at at each logon event, this way its always current for the current user on the machine 100% of the time.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By SpartanGolf6
      I use Pulseway to monitor my finicky Dell Inspiron 15 7000 Gaming Laptop and I noticed my laptop has thousands upon thousands of logs in Event Logs. I specifically need the 'Application Event Logs', 'Security' and 'System' event logs saved, ideally as a .CSV file. I don't know much PowerShell/Bash/VBScript, so I was hoping someone knows how to do this.
    • By Joe Savage
      Hi there,
      Just wondering if this is an option. I attempted to do the following with batch, but didn't work due to the %appdata% value resolving to somewhere in C:\Windows.
      mkdir %appdata%\Microsoft\Teams\Backgrounds\Uploads copy "\\SERVER\SHARE\Teams Backup Images\*.jpg" %appdata%\Microsoft\Teams\Backgrounds\Uploads /y  
      Any ideas?
      Cheers,
      Joe
    • By Joe Savage
      Hi there,
      This might be a bit of a long shot - but I have an end client who's interested in deploying custom Teams issues with Pulseway (as there aren't many users in-office for obvious reasons).
      I've attempted to deploy this by pushing a batch script, to copy the backgrounds from a shared location. The backgrounds folder in question is located in the user's roaming appdata (%appdata%\Microsoft\Teams\Backgrounds\Uploads). For this reason I wasn't able to use %username% correctly in my batch script, as the script is being run by some Pulseway service, rather than as the local user account.
       
      Please let me know if you've any ideas and have a great day.
       
      Cheers,
      Joe
    • By Sean Faria
      Hi,
      I am trying to install GCPW (Google Credential Provider for Windows).
      I am running into issue where with it:
      <# This script downloads Google Credential Provider for Windows from https://tools.google.com/dlpage/gcpw/, then installs and configures it. Windows administrator access is required to use the script. #> <# Set the following key to the domains you want to allow users to sign in from. For example: $domainsAllowedToLogin = "acme1.com,acme2.com" #> $domainsAllowedToLogin = "" Add-Type -AssemblyName System.Drawing Add-Type -AssemblyName PresentationFramework <# Check if one or more domains are set #> if ($domainsAllowedToLogin.Equals('')) { $msgResult = [System.Windows.MessageBox]::Show('The list of domains cannot be empty! Please edit this script.', 'GCPW', 'OK', 'Error') exit 5 } function Is-Admin() { $admin = [bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match 'S-1-5-32-544') return $admin } <# Check if the current user is an admin and exit if they aren't. #> if (-not (Is-Admin)) { $result = [System.Windows.MessageBox]::Show('Please run as administrator!', 'GCPW', 'OK', 'Error') exit 5 } <# Choose the GCPW file to download. 32-bit and 64-bit versions have different names #> $gcpwFileName = 'gcpwstandaloneenterprise.msi' if ([Environment]::Is64BitOperatingSystem) { $gcpwFileName = 'gcpwstandaloneenterprise64.msi' } <# Download the GCPW installer. #> $gcpwUrlPrefix = 'https://dl.google.com/credentialprovider/' $gcpwUri = $gcpwUrlPrefix + $gcpwFileName Write-Host 'Downloading GCPW from' $gcpwUri Invoke-WebRequest -Uri $gcpwUri -OutFile $gcpwFileName <# Run the GCPW installer and wait for the installation to finish #> $arguments = "/i "$gcpwFileName"" $installProcess = (Start-Process msiexec.exe -ArgumentList $arguments -PassThru -Wait) <# Check if installation was successful #> if ($installProcess.ExitCode -ne 0) { $result = [System.Windows.MessageBox]::Show('Installation failed!', 'GCPW', 'OK', 'Error') exit $installProcess.ExitCode } else { $result = [System.Windows.MessageBox]::Show('Installation completed successfully!', 'GCPW', 'OK', 'Info') } <# Set the required registry key with the allowed domains #> $registryPath = 'HKEY_LOCAL_MACHINE\Software\Google\GCPW' $name = 'domains_allowed_to_login' [microsoft.win32.registry]::SetValue($registryPath, $name, $domainsAllowedToLogin) $domains = Get-ItemPropertyValue HKLM:\Software\Google\GCPW -Name $name if ($domains -eq $domainsAllowedToLogin) { $msgResult = [System.Windows.MessageBox]::Show('Configuration completed successfully!', 'GCPW', 'OK', 'Info') } else { $msgResult = [System.Windows.MessageBox]::Show('Could not write to registry. Configuration was not completed.', 'GCPW', 'OK', 'Error') }
       
      I have tried the following:
      1. Run from batch file -- error "run as admin" but admin parameter was added
      2. Run from PowerShell --  error "leaves the script running forever"
      3. Pushed file to user and ran it (1) PowerShell -- error "needs run as admin" but admin parameter was added (2) batch -- error "script non-responsive"
    • By kappnet
      Hi,
      I am looking for a script that can trigger a 3rd party patch policy ad-hoc outside the policy schedule.
      It´s going to be used to start the installation process of software on newly registered machines in a "Computer registered" workflow.
      If there is anyone with another take on that I´m all ears.

      Best regards

      Mike

       
       
×
×
  • Create New...