Invoke-WebRequest
3 TopicsPowerShell 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,1.6KViews5likes0Comments