eDecisions Posted July 6, 2020 Posted July 6, 2020 This has been bugging the h ell out of me, I need to map a drive, or run a program that can only be run by the logged in user, and if I map the drive from session 0 the user does not see it. The below script works but wish Pulseway had better run as user features built in. This script will map a drive letter for the logged in user, change server and share name to your info. you can change the /TR "any commoand you want to run as the user"  $Taskname = "MapX" $lastlogon = (New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnUser") SCHTASKS /CREATE /sc ONCE /st 00:00 /TN $Taskname /RU $lastlogon /TR "net use x: \\<server-name>\<share-name> /persistent:yes" /F start-sleep -s 4 schtasks /Run /TN $Taskname start-sleep -s 1 schtasks /delete /tn $Taskname Â
eDecisions Posted July 9, 2020 Author Posted July 9, 2020 with everything you want more... needed a quick way to change path and drive letter depending on which customer I was working at, so came up with this, make a new file called MapDrv.ps1 and paste the MapDrv.ps1 info into it, place it using your method to a common working directory on every compute you manage, then type the following from powershell window in pulseway for the client our working on:Â Â Â MapDrv.ps1 S: \\server\path so this way, you can just on the fly enter the drive letter and path and mapdrive.ps1 will map for the user, no need to make a script for every customer and allows for quick re-connection of a missing drive letter for a user. Â Â #MapDrv.ps1 $drive=$args[0] $path=$args[1] $Taskname = "MapX" $lastlogon = (New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnUser")SCHTASKS /CREATE /sc ONCE /st 00:00 /TN $Taskname /RU $lastlogon /TR "net use $drive $path /persistent:yes" /F start-sleep -s 4 schtasks /Run /TN $Taskname start-sleep -s 1 schtasks /delete /tn $Taskname /F Â
PaulWTech Posted August 7, 2020 Posted August 7, 2020 When I run this I get these errors: ERROR: No mapping between account names and security IDs was done. ERROR: The system cannot find the file specified. ERROR: The specified task name "MapX" does not exist in the system.
eDecisions Posted August 7, 2020 Author Posted August 7, 2020 its not expected to run as a stand alone script, I set this so I could run from the powershell instance, so you'd save the script above into a working folder on the client, could could call it anything you like with a ps1 Then from the power shell window you can type c:\mypath\myname.ps1 x: \\server\share were taking the %1 and %2 as $args0 and $args1, so you're completing the 2 items when you manually type the command in the powershell windows. Â hope that makes sense.
PaulWTech Posted August 7, 2020 Posted August 7, 2020 Gotcha. Just wondering. I noticed scripts is different since I last used it. RE: https://www.pulseway.com/new#pulseway-83 See "More Customization for Automation with Variables" Is it possible to use this feature without having to transfer a file? If so, how to you set the variable? Thanks for the quick response!
eDecisions Posted August 7, 2020 Author Posted August 7, 2020 What I started doing was creating Script Groups, hence every customer has their own set of scripts, however the point of this one was a little different, imagine you just want to map a drive for today between 2 computers at the office for the client, this works. If you'd like to get rid of the copy file first, conciser building the file first in powershell with the commands, and then call that file, and delete it after run. I did that with the "SHOW MAPPED DRIVES OF LOGGED IN USER" that I just posted, take a peek of how I wrote a local batch file and then ran it and deleted it. Script Group Specific customer 1 Â Â Â >Map drives Specific Customer 2 Â Â Â >Map Drivers Specific customer 3 Â Â Â >Map Drives
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now