Forum Discussion

emreozanmemis's avatar
emreozanmemis
Steel Contributor
May 18, 2020

PowerShell ile Invoke-WebRequest işlemleri (tr-TR)

PowerShell ile Webde surf yapmaya hazır mısınız? PowerShell ile browser tadında bir surf keyfi için tanımanız gereken komut "Invoke-WebRequest" ta kendisidir. 

 

Invoke-WebRequest öncesi size basit bir PowerShell script ile dosya nasıl download edebilirsiniz göstermek isterim. 

 

$WebClient = New-Object System.Net.WebClient 
$WebClient.DownloadFile("http://<download linkinizi yazınız>","C:\dosya isminiz.formatı")

Örneğin windows admin center indirmek istiyorsunuz. Link ve indirmek istediğiniz dizini belirterek download işlemini gerçekleştirebilirsiniz. Biz bu örneğimizde Windows Admin Center download linkini yazıyoruz ve C:\ dizininde oluşmasını istiyoruz. 

$WebClient = New-Object System.Net.WebClient 
$WebClient.DownloadFile("http://aka.ms/WACDownload","C:\wac.msi")

Scrtipmizi çalıştırdıktan sonra mevcut uygulama çıktısı aşağıdaki gibidir.

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> $WebClient = New-Object System.Net.WebClient
PS C:\Users\Administrator> $WebClient.DownloadFile("http://aka.ms/WACDownload","C:\wac.msi")
PS C:\Users\Administrator> cd..
PS C:\Users> cd..
PS C:\> dir


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       15.09.2018     10:19                PerfLogs
d-r---       16.05.2020     22:10                Program Files
d-----       18.05.2020     15:32                Program Files (x86)
d-r---        9.05.2020     14:57                Users
d-----       18.05.2020     11:30                Windows
-a----       18.05.2020     15:49       62980096 wac.msi


PS C:\>

Aynı süreci Invoke-WebRequest komutu ile gerçekleştirelim. daha basit şekilde işlemi halledelim yine bir önceki örneğimizde olduğu gibi indirme linkini ve indireceğimiz yeri belirliyoruz. 

Invoke-WebRequest -Uri "<download linkini giriniz>" -OutFile "C:\dosya adiniz.formati"

Örnek Komutumuz ile MS SQL 2017 downlaod edelim. İndirme linkini ve indirmek istediğim dizini belirtiryorum.

Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=853017" -OutFile "C:\sql2017.exe" 

Uygulama çıktısı aşağıdaki gibidir. 

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=853017" -OutFile "C:\sql2017.
exe"
PS C:\Users\Administrator> cd..
PS C:\Users> cd..
PS C:\> dir


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       15.09.2018     10:19                PerfLogs
d-r---       16.05.2020     22:10                Program Files
d-----       18.05.2020     15:32                Program Files (x86)
d-r---        9.05.2020     14:57                Users
d-----       18.05.2020     11:30                Windows
-a----       18.05.2020     15:52        5325976 sql2017.exe
-a----       18.05.2020     15:49       62980096 wac.msi


PS C:\>

Invoke-WebRequest ile bir web sitenin içeriğini txt formatında dowload edebilirsiniz. Bu sefer biraz daha karmaşık bir komut hazırlıyoruz. Pipline kullanarak bir objenin içeriğini Invoke-WebRequest ile çağırıp daha sonra bu içeriği txt olarak çıktısını alıyoruz. 

Invoke-WebRequest "web adresi" | Select-Object -ExpandProperty Content | Out-File "C:\dosya ismi.txt"

Örneğin emreozanmemis.com web sitesi için bu süreci uygulayalım. 

Invoke-WebRequest "http://emreozanmemis.com" | Select-Object -ExpandProperty Content | Out-Fi
le "C:\emreozanmemis.txt"

Uygulama çıktısı aşağıdaki gibidir. 

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Invoke-WebRequest "http://emreozanmemis.com" | Select-Object -ExpandProperty Content | Out-Fi
le "C:\emreozanmemis.txt"
PS C:\Users\Administrator> cd..
PS C:\Users> cd..
PS C:\> dir


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       15.09.2018     10:19                PerfLogs
d-r---       16.05.2020     22:10                Program Files
d-----       18.05.2020     15:32                Program Files (x86)
d-r---        9.05.2020     14:57                Users
d-----       18.05.2020     11:30                Windows
-a----       18.05.2020     15:56         101964 emreozanmemis.txt
-a----       18.05.2020     15:52        5325976 sql2017.exe
-a----       18.05.2020     15:49       62980096 wac.msi


PS C:\>

Bu içeriği hiç indirmeden görüntülemek isterseniz de aşağıdaki komut işinizi fazlasıyla görecektir. 

Invoke-WebRequest "http://www.emreozanmemis.com" -OutFile "file" -PassThru | Select-Object -ExpandProperty Content

Uygulama çıktısı 

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Invoke-WebRequest "http://www.emreozanmemis.com" -OutFile "file" -PassThru | Select-Object -E
xpandProperty Content
<!DOCTYPE html>
<html lang="tr" prefix="og: http://ogp.me/ns#">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <link rel="profile" href="http://gmpg.org/xfn/11">
        <title>Emre Ozan Memis - Cloud and Datacenter Management</title>
        <style type="text/css">
                        body .primary-background,
            body button:hover,
            body button:focus,
            body input[type="button"]:hover,
            body input[type="reset"]:hover,
            body input[type="reset"]:focus,
            body input[type="submit"]:hover,
            body input[type="submit"]:focus,
            body .widget .social-widget-menu ul li,
            body .comments-area .comment-list .reply,
            body .slide-categories a:hover,
            body .slide-categories a:focus,
            body .widget .social-widget-menu ul li:hover a:before,
            body .widget .social-widget-menu ul li:focus a:before,
            body .ham,
            body .ham:before,
            body .ham:after,
            body .btn-load-more {
                background: #33363b;
            }

                        body .secondary-background,
            body .wp-block-quote,
            body button,
            body input[type="button"],
            body input[type="reset"],
            body input[type="submit"],
            body .widget.widget_minimal_grid_tab_posts_widget ul.nav-tabs li.active a,
            body .widget.widget_minimal_grid_tab_posts_widget ul.nav-tabs > li > a:focus,
            body .widget.widget_minimal_grid_tab_posts_widget ul.nav-tabs > li > a:hover,
            body .author-info .author-social > a:hover,
            body .author-info .author-social > a:focus,
            body .widget .social-widget-menu ul li a:before,
            body .widget .social-widget-menu ul li:hover,
            body .widget .social-widget-menu ul li:focus,
            body .moretag,
            body .moretag,

 

No RepliesBe the first to reply

Resources