My Mother called me up rather frazzled this evening.
This isn’t too surprising. Since her stroke 16 years ago she can sometimes become confused or forget simple things, things she once knew.
Tonight, the cause of her frazzled state was her computer.
After listening to her rant and ramble about her computer, I quickly realized that she had some web browser pop-up phishing telling her she had a virus. Partly because of who she is, and partly because of brain damage from stroke, she called the phone number that the pop-up displayed. When they told her they can fix it for $199 and if she took it to Best Buy, they would charge her $350-$400, this fueled her worry.
After some calming I finally had her start the Windows Remote Assistance application, but unfortunately she has forgotten what saving files actually means and she has no email configured. So she is unable to save the remote assist file and she can’t use Windows Remote Assistance to automatically email the request to me. It was at this point that I suggested she mail the laptop to me. I also may have said, “never again!” when I agree to support a laptop that someone else gifted her.
But, I couldn’t let it go. This was a challenge and I love a challenge.
I searched around a bit and tried my hand at the msra.exe command line. After a bit of trial and error, I realized I can have her open a powershell and type
msra /saveasfile helpme 12345678
Yes, I’m ok with the 12345678 password in this case. Trying some other password over the phone and having her type it was error prone.
“Did you say bee?”
“No I said pee, like Paul.”
“Bee like ball?”
“No…”
I still needed a way to get a file to me. I’ve had an aversion to PowerShell ever since it launched, despite tech reviewing a very fine PowerShell book. I knew it was probably my best bet at getting a file to me. After a bit of poking I found the invoke-webrequest helper, thingy. I don’t know PowerShell terminology. It looks like a function to me.
I have my home server on the internet. Its running Ubuntu Linux and I’ve had 4 line php upload scripts with html forms that let people send me files for years. Could I use this?
The shoelace was there. The paperclip was there. Did I also have some bubble gum?
All I really needed as an index.php in a /mom/ directory that looked like this:
<?php
file_put_contents('err.out', file_get_contents('php://input'));
?>
Wow that is some trivial stuff. Bland bubble gum, I guess.
Why an index.php and a /mom/? Well, because that will be easy for me to relay over the telephone.
I did some testing and found invoke-webrequest works nicely coupled with this http request body dumping php.
invoke-webrequest -uri jrwren.xmtp/mom/ -infile .\helpme
.msrcincident -method post
I was able to call my mom back, tell her, to press windows key-r, reminding her that windows key is usually between the ctrl and alt on the keyboard, and to type powershell and press enter.
“Powershell, P-O-W-E-R-S-H-E-L-L- no spaces?”
“Yup”
On first try, I tried to have her use the password 1234, but msra.exe complained that it was too short. Working through this mistake, I tried to have her use the up arrow to edit the previously executed command line in powershell.
“What is the up arrow?”
This honestly dumbfounded me and I had absolutely no idea what to do for a minute or so.
“The up arrow on my keyboard is on the right. There is an inverted tee of arrows, left right up down to the left of my left control key.”
Whew, I got lucky and she found it.
Once we had the msra.exe create the helpme file, I had her type out the invoke-webrequest command, prompting her to press tab after typing helpme to autocomplete the file extension.
The multiline color output of running the command shocked and surprised her. It maybe even scared her a little bit, but as she was reading it aloud, I heard her say, “200 OK”
“200 OK is great”, I said.
I checked my server and there was an err.out file along side the index.php. The only two files in the mom directory.
My home server always has samba setup. I used Windows Explorer to navigate to H:\public_html\mom and I renamed err.out to helpme.msrcincident. I double clicked it.
Mom said, “Oh what is this? jrwren wants to share your computer.”
I rejoiced inside.
The hard part being done, I was able to connect and control her computer. Microsoft has done a very nice job with Windows Remote Assist, ever since Windows 7. I’m impressed that my Windows 7 can connect flawlessly to her Windows 8.1. I’m thankful that PowerShell is out of the box in all versions of windows. I do not think I’d have been able to walk her through this over the phone with this few keystrokes without PowerShell.
To the evil con artists who extort money from poor little old disabled ladies who work two jobs: please stop.