Powershell script to allow you to login to any instance or sqlserver

  • Comments posted to this topic are about the item Powershell script to allow you to login to any instance or sqlserver

  • Thank you for this PowerShell script this has helped me alot, I can quickly access any of my SQL boxes with out logging on to the gui.

  • The good news:

    PowerShell is here!:)

    The bad news:

    PowerShell is here. Handle with care.:unsure:

  • What is "file.txt" ?

  • Hi there,

    You will need to create a file called file.txt or rename file.txt to say sqlserverlist.txt or something.

    Then you will need to list all your sqlservers in that file. oncee this is done run that program it will then ask you to enter a string say type in the first 3 letters of the server and press enter it will then bring you back all the servers with a simaler name then press what ever number server you want.

    Regards

    T

  • Thanks.

    Got it working.

    David

  • Cool that is good, I like this program i have not seen one like it so had to write it, where i work we have around 100 sqlservers and its a pain to login to every box or through the gui sometimes so this is very quick. I hope you like the program.

    Terry

  • I am pretty much new to powershell.

    I saw this script is quite useful for my environment. If someone let me know how to use this.

    I tried couple of time. But everytime i ran the below script, it terminates automatically but i have the text file in D drive.

    Please correct me if i am wrong...

    I created a file in D:\sqlList.txt

    then,

    Run> Powershell> enter

    PS D:\ document and setting\abc cd PS D:\gci

    -a --- _________________

    -a --- 6/21/2010 10.20am 11 sqlList.txt

    #copy the code and paste it in the window via right click

    PS D:\$file = get-content "sqlList.txt"

    # checks file if not found then terminates

    if (-not($file))

    {

    write-error($file+ " not found. Terminating .... ");

    exit

    }

    # matches the string ie type in any string for yout instance

    $match = $file | Select-String (Read-Host "search string")

    # if the match is found then this will run the select

    if ($match.count -gt 0)

    {

    $inst = @()

    for ($i = 0; $i -lt $match.count; $i++)

    {

    $temp = ""

    $line = $match[$i].tostring()

    for ($j = $line.length-1; $j -ge 0; $j--)

    {

    if ($line[$j] -eq ":")

    {

    break

    }

    $temp = $line[$j] + $temp

    }

    $inst = $inst + $temp

    write-output ("Press "+($i+1)+" for : " + $inst[$i])

    }

    $inp = ""

    $flag = "true"

    do {

    $inp = read-host("Enter choice : 1 - "+$match.count)

    if ($inp -lt 1 -or $inp -gt $match.count)

    {

    $flag = "false";

    write-error ("Invalid entry. Enter between 1 - "+$match.count)

    }

    else {

    $flag = "true";

    }

    } while ($flag -eq "false")

    write-output ("Logging on to the SQLSERVER you requested: "+$inst[$inp-1])

    if ($inst[$inp-1] -ne "") {

    $inst[$inp-1] + ""; sqlcmd -S $inst[$inp-1] -E

    }

    }

    --If i try to type all the code in powershell window then at the end how to execute this code...

    I think i am doing some silly mistake, but please help me to get it over...

    Thanks in advance....

    A Singh

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply