Friday, July 21, 2023

Powershell 7+: PSReadLine 2+ Favorites

  Some saved PS Keyboard Shortcuts:

Tab Support: Get Noun Commands for Module:

Get Commands for a noun:
Get Command Examples Help:

History

Ctrl-r: search hist backwards

Ctrl+S : search hist forwards 


Intellisense

ctrl-? : find all chords matching key

Right Arrow: accept the suggestion

menu-Spacebar: display suggestions

Ctrl+L : in PowerShell to clear the screen

Ctrl+@        MenuComplete        Complete the input if there ...

Ctrl+Spacebar : MenuComplete        Complete the input if there ...

Alt-H : param info


Show all key  functions

Ctrl+Alt+?

Get-PSReadLineKeyHandler -Bound

Set Prediction Options:

Set-PSReadLineOption -BellStyle None # Prevent annoying beeping noises

Set-PSReadLineOption -PredictionViewStyle ListView

Set-PSReadLineOption -PredictionSource HistoryAndPlugin



Output popup

Get-Process | Out-GridView

Powershell 7+ and PSReadline, a key match made in heaven, Powerful and Customizable Keyboard shortcuts for Powershell

 I frequently use PSReadline, and if you're using Windows 10 (with/ PowerShell 7+), you definitely do too. However, you can modify it a little to make use of more of its functions. I'm going to give you a few instances in this blog post.

Upgrade Powershell

Check version currently running :





To update it to the latest version, you can run this command:

Install-Module PSReadline -Force



Customize your PowerShell profile

You can begin adding options to your PowerShell profile so that they'll be available when a new PowerShell session is launched once you've updated to the most recent version.

3 Sample configuration options :

Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineOption -PredictionViewStyle ListView Set-PSReadLineOption -PredictionSource HistoryAndPlugin


Set-PSReadlineKeyHandler

With the help of this cmdlet, you may instruct a key—in this case, the TAB key—to do a specific action when hit. MenuComplete is the one I select. A screenshot of what this option accomplishes may be found below.



When you type ‘-‘ and press Tab, it typically lets you cycle through all the parameter options. MenuComplete option will show you all the parameters below your command line, browse pressing Tab.

Set-PSReadlineOption

The PredictionSource argument, which beautifully autocompletes from your History if you run a particular command a lot, is the second PSReadline option that I utilize. You can just press Enter to execute it after pressing the -> key to complete the line. For instance:



Using Get-PSReadlineKeyHandler 

You can check all the key bindings available by running:

Get-PSReadLineKeyHandler or Ctrl+Alt+?

Searching History: CTRL+R to Search history backward interactively

Editing functions

Key Function Description
— ——– ———–
Enter AcceptLine Accept the input or move to the next line if the input is missing a closing token.
Shift+Enter AddLine Move the cursor to the next line without attempting to execute the input
Backspace BackwardDeleteChar Delete the character before the cursor
Ctrl+h BackwardDeleteChar Delete the character before the cursor
Ctrl+Home BackwardDeleteInput Delete text from the cursor to the start of the input
Ctrl+Backspace BackwardKillWord Move the text from the start of the current or previous word to the cursor to the kill ring
Ctrl+w BackwardKillWord Move the text from the start of the current or previous word to the cursor to the kill ring
Ctrl+C Copy Copy the selected region to the system clipboard. If no region is selected, copy the whole line
Ctrl+c CopyOrCancelLine Either copy selected text to the clipboard, or if no text is selected, cancel editing the line with CancelLine.
Ctrl+x Cut Delete selected region placing deleted text in the system clipboard
Delete DeleteChar Delete the character under the cursor
Ctrl+End ForwardDeleteInput Delete text from the cursor to the end of the input
Ctrl+Enter InsertLineAbove Inserts a new empty line above the current line without attempting to execute the input
Shift+Ctrl+Enter InsertLineBelow Inserts a new empty line below the current line without attempting to execute the input
Alt+d KillWord Move the text from the cursor to the end of the current or next word to the kill ring
Ctrl+Delete KillWord Move the text from the cursor to the end of the current or next word to the kill ring
Ctrl+v Paste Paste text from the system clipboard
Shift+Insert Paste Paste text from the system clipboard
Ctrl+y Redo Redo an undo
Escape RevertLine Equivalent to undo all edits (clears the line except lines imported from history)
Ctrl+z Undo Undo a previous edit
Alt+. YankLastArg Copy the text of the last argument to the input

Cursor movement functions

Key Function Description
— ——– ———–
LeftArrow BackwardChar Move the cursor back one character
Ctrl+LeftArrow BackwardWord Move the cursor to the beginning of the current or previous word
Home BeginningOfLine Move the cursor to the beginning of the line
End EndOfLine Move the cursor to the end of the line
RightArrow ForwardChar Move the cursor forward one character
Ctrl+] GotoBrace Go to matching brace
Ctrl+RightArrow NextWord Move the cursor forward to the start of the next word

History functions

Key Function Description
— ——– ———–
Alt+F7 ClearHistory Remove all items from the command line history (not PowerShell history)
Ctrl+s ForwardSearchHistory Search history forward interactively
F8 HistorySearchBackward Search for the previous item in the history that starts with the current input – like Previous History if the input is empty
Shift+F8 HistorySearchForward Search for the next item in the history that starts with the current input – like NextHistory if the input is empty
DownArrow NextHistory Replace the input with the next item in the history
UpArrow PreviousHistory Replace the input with the previous item in the history
Ctrl+r ReverseSearchHistory Search history backward interactively

Completion functions

Key Function Description
— ——– ———–
Tab Complete Complete the input if there is a single completion, otherwise complete the input with a common prefix for all completions. Show possible completions if pressed a second time.
Ctrl+@ MenuComplete Complete the input if there is a single completion, otherwise complete the input by selecting from a menu of possible completions.
Ctrl+Spacebar MenuComplete Complete the input if there is a single completion, otherwise complete the input by selecting from a menu of possible completions.
Shift+Tab TabCompletePrevious Complete the input using the previous completion

Prediction functions

Key Function Description
— ——– ———–
F2 SwitchPredictionView Switch between the inline and list prediction views.

Miscellaneous functions

Key Function Description
— ——– ———–
Ctrl+l ClearScreen Clear the screen and redraw the current line at the top of the screen
Alt+0 DigitArgument Start or accumulate a numeric argument to other functions
Alt+1 DigitArgument Start or accumulate a numeric argument to other functions
Alt+2 DigitArgument Start or accumulate a numeric argument to other functions
Alt+3 DigitArgument Start or accumulate a numeric argument to other functions
Alt+4 DigitArgument Start or accumulate a numeric argument to other functions
Alt+5 DigitArgument Start or accumulate a numeric argument to other functions
Alt+6 DigitArgument Start or accumulate a numeric argument to other functions
Alt+7 DigitArgument Start or accumulate a numeric argument to other functions
Alt+8 DigitArgument Start or accumulate a numeric argument to other functions
Alt+9 DigitArgument Start or accumulate a numeric argument to other functions
Alt+- DigitArgument Start or accumulate a numeric argument to other functions
PageDown ScrollDisplayDown Scroll the display down one screen
Ctrl+PageDown ScrollDisplayDownLine Scroll the display down one line
PageUp ScrollDisplayUp Scroll the display up one screen
Ctrl+PageUp ScrollDisplayUpLine Scroll the display up one line
F1 ShowCommandHelp Shows help for the command at the cursor in an alternate screen buffer.
Ctrl+Alt+? ShowKeyBindings Show all key bindings
Alt+h ShowParameterHelp Shows help for the parameter at the cursor.
Alt+? WhatIsKey Show the key binding for the next chord entered

Selection functions

Key Function Description
— ——– ———–
Ctrl+a SelectAll Select the entire line. Moves the cursor to the end of the line
Shift+LeftArrow SelectBackwardChar Adjust the current selection to include the previous character
Shift+Home SelectBackwardsLine Adjust the current selection to include from the cursor to the start of the line
Shift+Ctrl+LeftArrow SelectBackwardWord Adjust the current selection to include the previous word
Alt+a SelectCommandArgument Make a visual selection of the command arguments.
Shift+RightArrow SelectForwardChar Adjust the current selection to include the next character
Shift+End SelectLine Adjust the current selection to include from the cursor to the end of the line
Shift+Ctrl+RightArrow SelectNextWord Adjust the current selection to include the next word

Search functions

Key Function Description
— ——– ———–
F3 CharacterSearch Read a character and move the cursor to the next occurrence of that character
Shift+F3 CharacterSearchBackward Read a character and move the cursor to the previous occurrence of that character

View Options by Get-PSReadlineOption 

Get list of configurable options which you can adjust: 

Get-PSReadLineOption

Shows the following output containing options :



We can configure many options to tweak the experience. 


Wednesday, July 19, 2023

Powershell 7+ : Change intellisense prediction style view and and source

Before:



 1. While typing click F2 to toggle or using Powershell...

2. Adjust using PS to change the POSReadLine Options via Set-PSReadLineOption:

If you want the same cmd prediction view as John, be sure to adjust the -PredictionViewStyle and -PredictionSource, the default InlineView is very plain.

PS C:\> Set-PSReadLineOption -PredictionViewStyle ListView PS C:\> Set-PSReadLineOption -PredictionSource HistoryAndPlugin

E.g: After




Sunday, June 18, 2023

How to Manage and Clear Google Drive Storage : Find large files and Folders

  

Manage Google Drive Storage

Clean Up / Remove Large Files :

1.       1 Review Storage Usage:

2.      2 Find and Remove Large Files

3.       3 Find and Remove Large and Medium Sizes Files.

4.       4 Search and Bulk Delete Large Emails:

5.      5 Find and Bulk Delete LARGE Photos           

6.      6 Find and Remove LARGE OLD files Shared with You


Clean Up / Remove Large Folders

1.       1: View LARGE Folders: Install THIS Freemium Google Drive Explorer App:

a.       How To View Folder Size Google Drive – Using Add-On [Working]

b.       Ganapthy has written an add-on which can be found in the Google Workspace Marketplace for free. It can be used to do different functions on Google Drive. Especially checking the Google Drive size of the folder

 

2.       2. Free Apps to View Folder Sizes:

a.       How to see the folders size in Google Drive | Without using any software | Google Colab

                                                               i.      Want to know how to see the size of folders in google drive or folders which are inside parent folders. This video is exactly for same and we'll see how to find out folders size without downloading any external software with the use of Google Colab in this video

                                                             ii.      Using this : app:

                                                           iii.      Sample Results

YouTube Watch Hitstory : Why is my YouTube History watch list filled with videos I haven't watched?

 

Why is my YouTube watch list filled with videos I haven't watched?

Symptoms:

My YouTube History watch list continues to be filled with unwatched videos. Why are there videos showing up in my history that I have not watched? Did my account get hacked?

·                        More Detail HERE

Example of hacked Google Youtube Account Video History:

·        




How to find the issue:

1. Go to this URL

                               YouTube Video History

                2. Look for videos that you did not watch / foreign for example, YoutUbe videos from India or China that are not English.

                3. If you find a video that you did not watch, document the estimated date that the video was watched.

                4. IF you find foreign videos in your history,

 

Troubleshooting: Basic

                5. IF your account was compromised / you find foreign videos in your history:

                                a. Go to https://myaccount.google.com/security?nlr=1

                                b. change your password and turn on 2FA

                                c. You can also Check your security here:

·         https://myaccount.google.com/security-checkup/3

·         https://myaccount.google.com/security?nlr=1

·         https://myaccount.google.com/device-activity

·         https://myaccount.google.com/notifications?pli%3D1=

·         https://myaccount.google.com/connections?filters=3,4&hl=en

·         Troubleshooting: Intermediate:

o   Remove all Extension on every browser client that supports extension, normally every windows machine.

o   Disable all mobile apps that have access to youtube account such as YouTueb Vanced or SmartTube.

o   Disable all YouTube alternative apps on Android TV

o   If above does not work, disable and logout of every deice for target Google Account: AndroidTV, Mobile and PC.

o    Use strong passwords, Undo SyncRemove unwanted extensions and toolbars, Disable autoplay mode

·         Troubleshooting: Advanced:

o   Create custom Google Script or Azure app to send alert when YouTube Watch history is updated with video anomaly, for example: Send email when a video shows in History that includes an Indian or Chinese language title.

o   See below refs for YoutUbe API examples:

§  https://groups.google.com/g/google-apps-script-community/c/NLiA-Cu9V3I

§  https://www.youtube.com/watch?v=QY8dhl1EQfI

§  https://www.youtube.com/feed/history

§  https://stackoverflow.com/questions/30849284/how-to-get-watched-history-of-youtube-user-using-youtube-javascript-api

§  https://stackoverflow.com/questions/73241866/how-to-get-watched-history-of-a-music-video-on-youtube-using-youtube-api

§  https://atonce.com/blog/how-to-get-youtube-api-key

§  https://saturncloud.io/blog/how-to-get-a-youtube-video-thumbnail-from-the-youtube-api/

§  https://github.com/matt8707/youtube-watching

§  https://www.reddit.com/r/YoutubeMusic/comments/w8naqu/youtube_ytmusic_history_api/

§  https://developers.google.com/youtube/v3/live/guides/auth/installed-apps

§  https://developers.google.com/youtube/v3/docs

§  https://developers.google.com/youtube/v3/sample_requests

§  https://stackoverflow.com/questions/23600372/how-to-get-all-your-watch-history-from-youtube?rq=4

 

Thursday, February 9, 2023

Android Context Menu : Long Press of text display Bing Search menu, Where did it come from?

What Android app is creating the menu 'Bing Search' in apps when long pressing text?

The Andorid app Outlook has an intent-filter in its Manifest file that enables it to show up in the long-press context menu when highlighting text. This intent-filter is disabled unless the feature flag "Edge Integration" is enabled.

<activity android:configChanges="0x4a0" android:enabled="false" android:label="@string/browser_bing_search" android:name="com.microsoft.emmx.webview.search.SearchBridgeActivity" android:theme="@style/BrowserDefaultLightTheme">
<intent-filter>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>

Now we know!