20.04.2025

Windows 11 için tarifeli bağlantı

Bilgisayarımı kısıtlama olmadan bir kablosuz ağa bağlamak güzel bir şey. Ama bazı durumlarda kısıtlı paketi olan cep telefonu veya başka mobil bağlantılar üzerinden internete bağlanmam gerektiğinde Windows'un bütün güncellemelerini başlatıp kotayı doldurmasını istemiyorum. Bunun için Ayarlar > Ağ ve İnternet > Wi-Fi bölümünden istediğim kablosuz ağı seçip özelliklerinden "Tarifeli bağlantı" ayarını "Açık" konuma getirdim.


 Ya da bunun eşdeğerini komut satırından yapmak için önce mevcut kablosuz ağları bir sorgulayayım.
netsh wlan show profiles

Bu komutun çıktısında en alta doğru "Cost settings" bölümünde Cost kısmında "Unrestricted" yazıyorsa tarifeli değildir. Burada "Fixed" görmek gerek. Onun için aşağıdaki komutla bunu yapabilirim.

netsh wlan set profileparameter name="POCO X3 Pro" cost=Fixed

Bu şekilde Windows'un arka planda güncellemeler, OneDrive dosya yükleme ve indirmeleri gibi yüklerden kurtulabiliriz. Ama bazı üçüncü parti uygulamalar bu kurallara uymayabilir, kontrol etmekte fayda var.

10.04.2025

Powershell ile symbolic ve hard link oluşturma ve sorgulama

C: sürücümüzün kökünde büyük bir dosya oluşturalım.

fsutil file createnew buyuk-dosya.txt (5GB)

Şimdi de profil klasörümüze gelip bu dosyaya bir sembolik link oluşturalım. mklink komutu ile ve Powershell ile bunu aşağıdaki gibi yapabiliriz.

mklink sembolik-link.txt C:\buyuk-dosya.txt

New-Item -ItemType SymbolicLink -Name sembolik-link.txt -Target C:\buyuk-dosya.txt

Sembolik link yaratılacak nesne bir dosya değil de bir klasör olsaydı

mklink /D sembolik-klasor C:\hedefklasor

New-Item -ItemType SymbolicLink -Name sembolik-klasor -Target C:\hedefklasor 

Bir dosyaya hard link oluşturmak için ise

mklink /H sembolik-link2.txt C:\buyuk-dosya.txt

New-Item -ItemType HardLink -Name sembolik-dosya2.txt -Target C:\buyuk-dosya.txt

Hedefimiz bir klasör olsaydı hardlink yerine junction kullanmamız gerekecekti.

mklink /J junction-klasor C:\hedefklasor

New-Item -ItemType Junction -Name junction-klasor -Target C:\hedefklasor

Sembolik link durumunda orijinal dosyayı sildiğimizde sembolik link öksüz kalır, veriler gitmiş olur. Hardlink durumunda ise orijinal dosya silinse bile veriler silinmez, hardlink aracılığıyla erişilebilir.

Peki bu yöntemlerin herhangi biriyle oluşturulan linkler diskte ayrıca her kaplar mı? Cevap hayır. Gerek Sembolik gerekse hardlink diskte orijinal dosyadan başka yer kaplamaz. Linkler üzerinden dosya içeriği değiştiği zaman hardlink'lerin LastWriteTime özniteliği değişir, ama symbolik link'in değişmez.

Bu işlemlerin hepsi için yönetici yetkileri gerekir.

Ama aşağıdaki gibi var olan dosyaların özelliklerini sorgulamak için yönetici yetkileri gerekmez.

dir | select Name, LinkType, Target, Attributes


9.04.2025

Web Tarayıcılar

Ladybird tarayıcısının da görünmeye başlamasıyla elimizdeki tarayıcılara bir bakmak istedim. Özellikle Windows dünyasındaki web tarayıcıların çoğu iki tarayıcı moturundan türediler: Gecko ve Blink. Gecko, Firefox'un da kullandığı, Mozilla Vakfı tarafından geliştirilmiş bir motor. Blink ise Chromium tarafından kullanılan bir motor. Bunun dışında bir de Webkit var ama sadece Safari tarafından kullanılıyor. Bir de eskiden Presto vardı, sadece Opera tarafından kullanılan ama sanıyorum şu anda yok.

Gecko tarayıcı motorunu kullanan tarayıcılar:

1. Firefox

 

Netscape'in misyonunu devam ettiren tarayıcı. Açık kaynak kodlu. Özgür. Linux'ta varsayılan olarak gelmeye devam ediyor. Son dönemlerde kullanıcı verilerini satma olayı ile gündeme geldi.

2. LibreWolf


"Firefox'un kapalı kaynak kodlu bileşenleri çıkarıldıktan sonra geriye kalan" şeklinde anlatılıyor. Pocket gibi gereksiz bileşenler yok, uBO yüklü geliyor. Gizlilik ve güvenlik ayarları yapılmış gelen bir Firefox gibi. Çevrim dışı çeviri var. Firefox sync varsayılan olarak kapalı geliyor, ama açılabiliyor. Firefox containers varsayılan etkin geliyor.

3. Waterfox

Firefox'un eski bir sürümünden türediği yazılmış ama yeni Firefox özelliği çevrim içi çeviri var. Firefox ve LibreWolf'a göre daha hızlı. Firefox containers varsayılan etkin geliyor ama uBO yüklü değil. Pocket de yok çok şükür.

4. Tor

 

Onion routing denen protokolü destekleyen 2 tarayıcıdan biri olmasının dışında yüksek hassasiyetle kullanıcı tarafındaki bazı "parmak izi" olarak nitelenen kullanıcıya özgü verilerin alınmasını engelleyen/zorlaştıran bir tarayıcı. Her gün kullanım için uygun mudur, bilemiyorum. Ama yüksek güvenlikli işler için uygun.

5. Floorp

 

Piyasada Firefox türevi yeni bir tarayıcı olduğunu öğrendiğimde atladığım bir tarayıcı. Benchmark puanı Waterfox'tan da yüksek. Japonya merkezli bir geliştirme ekibinin ürünü. uBO yüklü değil ama containers özelliği etkin geldi. Firefox sync özelliği var.

6. Zen

 

Son dönemlerin favori tarayıcısı. Reddit'te en çok bahsedilen. En önemli özelliği henüz Firefox'a bile gelmemişken dikey tarayıcı sekmesini desteklemesi oldu. Galiba Firefox'tan sıkılanların seçimi. Containers varsayılan olarak geliyor, uBO da. Firefox sync var.
 

7. Pale Moon

Firefox'un çok eski görünümüne sahip. Biraz sıkıcı olabilir. Günlük ihtiyaçlar için kullanılabilir mi?

8. Sea Monkey

 


Firefox'un daha da eski bir görünümü; hatta Mozilla suite gibi bir görünüşe sahip. Çağdaş bir tarayıcı olarak tercih edilir mi, bilemiyorum.

Blink tarayıcı motorunu kullanan tarayıcılar

1. Chromium

 

 
Google Chrome'un tabanı olarak vazife yapan tarayıcı. Windows dünyasında çaba sarfetmeden bulmak zor. Bulduktan sonra da niye bu çaba demek olası. Bir ara Google hizmetlerinin Chromium'dan kaldırılması gündemdeydi, ama radarımın dışında bir tarayıcı olduğu için denemedim, bilmiyorum.

2. Google Chrome

 

Temelde bir reklam şirketi olan Google'ın kullanıcı verilerine bir şekilde erişmek ve kullanabilmek için çıkardığı ve nedense çok popüler olan tarayıcı. Piyasada bu kadar tarayıcı varken kullanmak için herhangi bir neden göremiyorum. Özellikle de manifest v3 sonrası.

3. Brave


Chrome türevi olarak piyasaya çıkan ve güvenlik ve gizlilik endişeleri olan kişiler için uygun olduğu vurgusu yapılan tarayıcıların içinde benim gözüme en çok çarpan. Kendi reklam engelleyicisi var ama bu da "kabul edilebilir reklamları" kapsam dışı bırakıyor. Chrome tabanlı tarayıcılardan Tor ağına bağlanabilen tek türev.

4. Vivaldi

 

"Chrome tabanlı tarayıcılarından biri" etiketinden sıyrılmak ve z kuşağının gözüne girebilmek için renkli dikkat çeken özellikler edinmeye çalışan bir tarayıcı. Neden bilmem, uBO'ya güvenmeyip "Duckduckgo Tracker  Radar" özelliğini eklemiş. Gereksiz. ChatGPT'den uBO ile DuckDuckGo Tracker Radar'ı karşılaştırmasını istedim:

FeatureDuckDuckGo Tracker RadaruBlock Origin
Tracker BlockingYesYes
Ad BlockingLimitedFull
Custom FiltersLimitedExtensive
Element Hiding / Cosmetic FiltersNoYes
Firewall-like controlNoYes (Dynamic Filtering)
Advanced User SupportBasicPower user friendly
Speed/EfficiencyLightweightEfficient but more complex
Open-sourceYesYes

5. Opera

 

En eski tarayıcılardan. İlk çıktığı dönemlerde ücretsiz olmayan bir iş modeli benimsemişlerdi. O zamanlar Avrupa'da (Norveç?) geliştiriliyordu ve gayet saygın bir tarayıcıydı. Diğer tarayıcılarda olmayan özellikleri (gestures gibi) vardı. 2010'lardan sonra bir ara ne olduysa o da Chrome tabanlı bir tarayıcı olmaya karar verdi. Şu anda Çin merkezli bir firma tarafından geliştiriliyor. Kendi içinde ücretsiz VPN hizmeti sunduğunu iddia ediyor ama onun da basit bir proxy hizmeti olduğu söyleniyor. Yine de işe yarayabilir. 2 sene kullanmazsanız yolda görseniz tanımazsınız; hızlı değişiyor. Güvenli olduğuna dair bir izlenimim yok.

6. Arc

 

Sekme listesini dikey yapmak ve havalı olmak isteyen yeni tarayıcı. Zen varken kullanılmaz derdim ama yine de kendine bir kullanıcı kitlesi oluşturmuş. Ayırntılı bilgim yok.

7. Edge

 


Uzun süre direnen Internet Explorer'ın sancılı ölümü sonrasında ruhu Edge'de tekrar hayat buldu. Bazı kaynaklarda gizlilik ayarları yapılması şartıyla "güvenli" bir tarayıcı olduğuna dair bazı bilgiler bulduğumu hatırlıyorum ama alışkanlıklar herşeydir. Microsoft'tan beklenecek şekilde sıra dışı hiçbir özelliği yok; düz tarayıcı. Ama Copilot'un gelişi ile bir istisnası oldu.

Nisan 2025 itibarı ile bu listedeki tarayıcıların user agent string'leri aşağıdaki gibi

FirefoxMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0
LibreWof
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0
Waterfox
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
Tor
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
Floorp
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
Zen
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0
Pale Moon
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:115.0) Gecko/20100101 Goanna/6.7 Firefox/115.0 PaleMoon/33.6.1
Sea Monkey
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.20
Chromium
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Google Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Brave
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Vivaldi
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Opera
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 OPR/117.0.0.0
Arc
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Edge
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0

Bunlar tam bir liste değil, sık kullanılan ya da daha çok benim gözüme çok takılan tarayıcılar.

Son söz, Firefox istemeyen için Zen, Floorp veya Waterfox. Öteki taraftan birşey isteyen için Brave, Chromium veya Edge. Ama küçük projelere dikkat etmek gerek. Bir süre projeyi başarıyla yürüten geliştirici, reddedemeyeceği bir teklif gelmesi durumunda projeyi hiç güven vermeyen bir ticari şirkete satabilir.

7.04.2025

Son 20 yılda Perşembe gününe denk gelen 19 Aralık'lar

Bir ara 19 Aralık Perşembe olduğunu bildiğim bir tarihin hangi yıl olabileceğini merak etmiştim. Bunu bulmak için de aşağıdaki tek satırlık Powershell'i kullanmıştım. Bir tarih nesnesinin içinden "haftanın günü" verisini çekmek için DayOfWeek'in nasıl kullanıldığına dair de bir örnek olabilir.

2000..2020 | ? { (Get-Date -Day 19 -Month 12 -Year $_).DayOfWeek -eq "Thursday"}

2002
2013
2019

olarak 3 sene döndü, güzel.

3.04.2025

Karakter kodlama (encoding)

Bu ilginç bir konu. Bilgisayarınızda bir metin düzenleyici açıp sadece "a" (tırnaklar olmadan) yazıp kaydettiğinizde diske ne yazılır? Yazılan hiçbir zaman sadece "a" olmaz. Aslında arka planda "a" diye birşey de yoktur. Bu konu 1960'larda ASCII standardı ile bir düzene oturtulmuş. Bir metin dosyasına yazılabilecek her şey bir tabloda toplanmış [1]. Bu standardın ilk geliştirildiği dönemde bu tabloda hangi harf ve diğer karakterlerin olacağına dair bazı görüşmeler olmuş. Bu görüşmelere Türkiye'nin de davet edildiği, ancak o dönemde Türkiye'nin başka işleri olduğuna dair bir şey duymuştum ama doğrulayamadım. Sonuçta bu tabloda ç ve ü gibi (Türkçe hariç diğer dillerde de var olan) harfler var, ama ı ve ğ gibi (sadece Türk alfabesine özgü) harfler yok. Türkiye 1980'lerin sonunda oyuna dahil olmuş ve ISO 8859-9 standardında Türkçe harflerin tümünün yer aldığı bir kodlama oluşturulmuş (bir de Windows 1254 mü var?).

Benzer şekilde çok sayıda karakter tablosu oluşmuş. Bir dosyanın düzgün görüntülenmesi için ilgili dosyanın belli bir karakter kodlaması / tablosu ile açılması gerek. Yani diskte 221 yazıyorsa her tabloda bu aynı harfe karşılık gelmeyebilir.

Bunların hepsi 1 karakterin 8 bitlik (1 byte) kodlama ile ifade edildiği dönemdi. Yani 2 üzeri 8 = 256 yapacağından, her tablo en fazla 256 karakter içeriyor ki buna bazı kontrol karakterleri, sayılar, küçük ve büyük harfler ile bazı özel sembollar (parantez, artı ve eksi işareti gibi) ve noktalama işaretleri de konduğunda aslında sadece 1 alfabe içerebilen bir tablodan bahsediyorum. Aynı anda sadece 1 karakter tablomuz olacağından iki farklı dilde harfin olduğu bir metin dosyasının var olması mümkün değildi.

Daha sonraları 1 byte (8 bitlik) kodlamanın yerine çok byte'lı kodlamanın kullanılması ve aslında dünya üzerindeki bütün alfabelerin sığdırılabileceği hatta bazı özel karakterlere bile yer kalacak bir tablonun yürürlüğe girmesi söz konusu olmuş. Bu durumda her harf iki veya daha fazla byte ile ifade edilir olmuş. İşler giderek karmaşıklaşıyor.

Standartların oluşması bana hep bu karikatürü çağrıştırıyor.

Sonunda açmak üzere olduğumuz dosyanın tek byte mı çift byte mı kodlama ile oluşturulduğunu önceden bilmemiz, hatta tek byte ise hangi karakter tablosu ile oluşturulduğunu bilmemiz/tahmin etmemiz/deneye yanıla bulmamız gerekiyor. Hala bazı metin dosyalarını açarken karakter kodlamasını söylememizi istemesi veya bazı (yüksek ihtimalle Türkçe) karakterlerin bozuk görüntülenmesi bundan kaynaklı.

Dosyada bazı karakterler (veya tümü) birden fazla byte kullanılarak ifade ediliyorsa bunu dosyanın başına bir imza koyarak işaretlemek istemişler. Bunun için Byte Order Mark (BOM) denen bir imza oluşturulmuş. Bir de bilgisayar dünyasında çok byte'lı verileri yazarken önce büyük basamakların mı yoksa küçük basamakların mı yazılacağı konusu var.

Dosyanın başındaki ilk 4 byte'ın aşağıdaki değerlerine göre dosya tipleri şöyle:

    byte 1        byte 2        byte 3        byte 4    Anlamı
 0x2b 0x2f 0x76-
 UTF7
 0xff 0xfe
--
 Unicode - little endian    
 0xfe
 0xff-- Unicode - big endian
 0x00
 0x00
 0xfe
 0xff UTF32
 0xef
 0xbb
 0xbf
- UTF8
---- ASCII

Herhangi bir byte için "-" olması o byte'ın öneminin olmadığı anlamına geliyor. Koşulların hiçbirisi sağlanmıyorsa (en alttaki satır) dosyanın ASCII olduğu varsayılıyor.

UTF8 kodlaması için şu tablo, genişçe bir Unicode tablosu için şu tablo, her türlü kodlamayı tek sayfada görmek için de şu sayfa kullanılabilir.

Örnek birkaç karakter için kodlamalar

    Karakter    
    ISO 8859-9    
    UTF8    
    U+
a
 97  (0x61)
 0x61 U+0061 
ç
 231 (0xE7)   0xC3 0xA7 
 U+00E7
ğ 240 (0xF0)
 0xC4 0x9F
 U+011F

Linux'ta dosya tipini öğrenmek için

file -i dosya.txt

Dosyayı hex olarak görüntülemek için

hexdump -C dosya.txt

veya

xxd dosya.txt

dosyayı bir kodlamadan başka bir kodalama dönüştürmek için de

iconv -f ISO-8859-9 -t UTF-8 dosya.txt > dosya2.txt

Windows powershell'da bu kadar fazla seçenek olmasa da dosyayı belli bir kodlama ile açmak için

gc dosya.txt -encoding utf8

Hex olarak görmek için

format-hex dosya.txt

 Ve dosyayı başka bir kodlamaya çevirmek için

gc dosya.txt -encoding ascii | sc dosya2.txt -encoding UTF8

---

[1] https://en.wikipedia.org/wiki/ASCII

[2] https://lokalise.com/blog/what-is-character-encoding-exploring-unicode-utf-8-ascii-and-more/

2.04.2025

Powershell ve emojiler

Promptu renklendirmek için emojiler işe yarayabilir. Windows Terminal'in de gelişiyle emoji desteği de zenginleşti.

Herhangi bir nedenle bir emoji buldum ve bunu script ile ekrana basmak istiyorum. Örneğin https://emojidb.org veya https://home.unicode.org adreslerinden ⚡ emojisini buldum. Bu emoji siteden kopyalandı ve panoda (clipboard) var. Bunu istediğim yere, Windows Terminal dahil, yapıştırabiliyorum. Ama elimde bunun bir kodu yok. Koduna nasıl ulaşabilirim?

[char]::ConvertToUtf32("⚡", 0).ToString("X")

komutu bana

26A1

döndü. Şimdi bu kodu kullanarak her an

[char]::ConvertFromUtf32(0x26A1)

ile ⚡ emojisini kullanabilirim. Veya U+1f91e igi U ile başlayan kodlara sahipsek (örneğin home.unicode.org sitesinde bu şekilde veriliyor) U+'dan sonra gelen kodu doğrudan kullanabiliriz.

[char]::ConvertFromUtf32(0x1f91e)

Vereceği sonuç

🤞

olur.

Değer 65536'dan küçükse sadece [char] ile görüntüleyebiliriz.

[char]36000
負 

Benzer şekilde 65536'dan küçük kodlara karşılık gelen unicode karakterler için şu daha basit bir şekilde kodları bulunabilir.

[int][char]'負'
36000 

Powershell core 7 ile bunun yerine

`u{26A1}

ile de aynı şeyi yapabiliyorum.

21.03.2025

The package provider requires 'PackageManagement' and 'Provider' tags hatası

Bir makinede powershell ile PowershellGallery.com'dan bir modül kurmak istediğimde

Install-Module -Name PSWritePDF

şöyle bir hata alıyordum:

PackageManagement\Install-PackageProvider : No match was found for the specified search criteria for the

provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the

specified package has the tags.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7468 char:21

+ ...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [I

   nstall-PackageProvider], Exception

    + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.Install

   PackageProvider


PackageManagement\Import-PackageProvider : No match was found for the specified search criteria and provider

name 'NuGet'. Try 'Get-PackageProvider -ListAvailable' to see if the provider exists on the system.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7474 char:21

+ ...     $null = PackageManagement\Import-PackageProvider -Name $script:Nu ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidData: (NuGet:String) [Import-PackageProvider], Exception

    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.ImportP

   ackageProvider


WARNING: Network connectivity may not be available, unable to reach remote sources.

WARNING: Unable to bootstrap the required package provider due to problems with network connectivity. Please

fix your network connection. If this is not possible, refer to 'Get-Help Install-PackageProvider' or

https:/go.microsoft.com/fwlink/?LinkId=626941 for guidance on installing the package provider manually.

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.      WARNING: Unable to download the list of available providers. Check your internet connection.                  PackageManagement\Get-PackageProvider : Unable to find package provider 'NuGet'. It may not be imported yet.  Try 'Get-PackageProvider -ListAvailable'.                                                                     At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7478 char:30                + ... tProvider = PackageManagement\Get-PackageProvider -Name $script:NuGet ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...PackageProvider:GetPackageProvider) [Get-Pa

   ckageProvider], Exception

    + FullyQualifiedErrorId : UnknownProviderFromActivatedList,Microsoft.PowerShell.PackageManagement.Cmdlet

   s.GetPackageProvider


Install-Module : NuGet provider is required to interact with NuGet-based repositories. Please ensure that

'2.8.5.201' or newer version of NuGet provider is installed.                                                  At line:1 char:1                                                                                              + Install-Module -Name PSWritePDF                                                                             + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                 + CategoryInfo          : InvalidOperation: (:) [Install-Module], InvalidOperationException                   + FullyQualifiedErrorId : CouldNotInstallNuGetProvider,Install-Module

Çözüm olarak şu sitede gösterildiği gibi

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

ile TLS 1.2'yi Service Point Manager olarak ayarladıktan sonra asıl kurmak istediğim PSWritePDF'i kurmayı başardım.