PowerShell Takma Adları: Yeni Başlayanlar İçin Kılavuz
Uzun, karmaşık komut adlarını tekrar tekrar yazmak PowerShell'de üretkenliği azaltabilir. Neyse ki takma adlar, yaygın komutlar ve cmdlet'ler için alternatif kısa adlar oluşturmanıza olanak tanıyarak basit bir kısayol sağlar. Bu başlangıç kılavuzunda PowerShell'de takma adların nasıl oluşturulacağı, yönetileceği, sürdürüleceği ve kaldırılacağı hakkında her şeyi öğreneceksiniz. Gerçek dünyadan örnekler kullanarak takma ad sözdizimini, takma adların listelenmesini, kapsamı, yerleşik takma adları ve daha fazlasını ele alacağız. Ayrıca en iyi uygulamalar, yaygın sorunların giderilmesi ve PowerShell Takma Adı ile İşlev arasındaki farklar gibi bazı ileri düzey konuları da inceleyeceğiz.
Kısa Linux tarzı komutları taklit etmek veya yalnızca ayrıntılı PowerShell fiillerini kısaltmak istiyorsanız, takma adlar komut dosyanızı düzene sokabilir ve tuş vuruşlarını kaydedebilir. Şimdi PowerShell'deki takma adların zaman kazandıran gücünün farkına varalım ve kilidini açalım!
PowerShell Takma Adını ve önemini anlama
PowerShell Takma Adı, bir cmdlet veya komut için kısayol adıdır. Tam cmdlet veya komut yerine daha kısa ve hatırlanması daha kolay bir ad kullanmanıza olanak tanır. Örneğin, her seferinde “Get-ChildItem” yazmak yerine, bir “GCI” Takma Adı oluşturup onu kullanabilirsiniz. Takma ad zamandan tasarruf edebilir ve PowerShell deneyiminizi daha sorunsuz hale getirebilir.
Takma ad, uzun cmdlet veya komut adlarındaki yazım hatalarını ve hataları önlemenize de yardımcı olabilir. Ayrıca komut dosyalarınızı daha kısa ve daha okunaklı hale getirmenize de yardımcı olabilir. Ancak Alias'ın doğru kullanılması ve mevcut veya gelecekteki cmdlet'ler veya komutlarla çakışmaların önlenmesi çok önemlidir. Kendinizi PowerShell'de aynı uzun cmdlet'i ve işlev adlarını tekrar tekrar yazarken bulursanız çözüm takma adlardır.
PowerShell'de Takma Ad Nasıl Oluşturulur?
Takma ad oluşturmak basittir. Yeni Takma Ad komutunu ve ardından takma ad adını ve takma ad vermek istediğiniz gerçek komutu kullanın. New-Alias cmdlet'inin sözdizimi aşağıdaki gibidir:
New-Alias
[-Name] <String>
[-Value] <String>
[-Description <String>]
[-Force]
[-Option <String>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
PowerShell'deki New-Alias cmdlet'inin önemli parametrelerini özetleyen tablo aşağıdadır:
-NameYeni takma adın adını belirtir. Bu zorunlu bir parametredir. Alfasayısal karakterler ve kısa çizgiler içerebilir (Ancak ilk karakter bir alfabe olmalıdır).
-ValueDiğer adın başvurduğu cmdlet'in veya işlevin adını belirtir. Ayrıca zorunlu bir parametre.
-DescriptionTakma adın ne yaptığına ilişkin metinsel bir açıklama sağlar. Boşluk içeriyorsa tırnak işaretleri içine alın.
-ScopeTakma ad için Salt Okunur, Sabit, Yok ve Özel gibi seçenekleri belirtir.
-OptionYeni takma adın adını belirtir. Bu zorunlu bir parametredir. Alfasayısal karakterler ve kısa çizgiler içerebilir (Ancak ilk karakter bir alfabe olmalıdır).
-ForceAynı ada sahip bir takma ad zaten mevcut olsa bile cmdlet'i bir takma ad oluşturmaya zorlar.
Örneğin, Get-ChildItem için liste adlı bir takma ad oluşturmak için şunu kullanırsınız:
New-Alias -Name list -Value Get-ChildItem
Bu noktadan itibaren “list” yazıldığında Get-ChildItem yürütülecektir.
Mevcut bir takma adın üzerine yazmak için -Force parametresini kullanın:
New-Alias -Name gs -Value Get-Service -Description "Alias for Get-Service" -Force
Bu, mevcut takma adların üzerine yazılan, açıklama içeren bir takma ad oluşturur.
PowerShell Kümesi-Diğer Ad
Ayrıca “Set-Alias” komutunu kullanarak yeni bir Alias ekleyebilirsiniz. Bu cmdlet yeni bir takma ad oluşturur veya mevcut olanı günceller.
Set-Alias <AliasName> <Command>
İşte bir örnek:
Set-Alias -Name GCI -Value Get-ChildItem
Bu örnekte "Get-ChildItem" cmdlet'i için bir "GCI" Takma Adı oluşturduk. PowerShell halihazırda kullanmadığı sürece Takma Ad için istediğiniz adı kullanabilirsiniz. Ayrıca bir işlev, komut dosyası veya yürütülebilir dosya için bir Takma Ad oluşturabilirsiniz. Örneğin:
Set-Alias np NotePad
Bir takma ad oluşturduktan sonra, onu geçerli PowerShell oturumunda, temsil ettiği cmdlet'i veya işlevi kullandığınız gibi kullanabilirsiniz. Bu örnekte Not Defteri'ni yalnızca “np” yazarak açabilirsiniz.
PowerShell İşlevi için Takma Ad Oluşturma
Bir İşlev için takma ad oluşturmanın bir örneğini burada bulabilirsiniz:
function Say-Hello {
Write-Output "Hello, World!"
}
Set-Alias -Name sh -Value Say-Hello
Lütfen oluşturduğunuz takma adın yalnızca mevcut PowerShell oturumunuz boyunca mevcut olacağını unutmayın. Takma adın her yeni oturum başlattığınızda kullanılabilir olmasını istiyorsanız PowerShell profilinize hem işlev tanımını hem de Set-Alias komutunu eklemeniz gerekir.
Mevcut Takma Adların Listelenmesi
Örneğin, PowerShell, dizin öğelerini almak için her seferinde Get-ChildItem yazmak yerine bu komut için takma ad dir'i kullanır. Her iki komut da aynı sonuca ulaşır, ancak dir daha kısadır ve diğer komut satırı arayüzlerinden gelenler için genellikle daha tanıdıktır.
PowerShell oturumunuzda mevcut tüm takma adların listesini görmek için Get-Alias komutunu (Alias: Gal) kullanın. Bu, tüm yerleşik ve kullanıcı tanımlı takma adlardan oluşan bir PowerShell takma ad listesi görüntüler.
PS C:\> Get-Alias | format-table name,definition,options
Benzer şekilde, belirli bir takma adı bulmak için şunu kullanın:
Get-Alias GCI
Ayrıca tüm takma adları Alias sağlayıcısını kullanarak da alabilirsiniz (dosya sistemi sürücüsüne benzer). İşte nasıl:
#Change the Drive
Set-Location alias:
#Get All Aliases
Get-Childitem
Yaygın PowerShell Takma Adları
PowerShell aşağıdakiler gibi birçok yerleşik takma ad içerir:
- Get-İçerik için kedi
- Ayarlama Konumu için CD
- Yazma Çıkışı için yankı
- Get-ChildItem için l
Bunlar sezgisel bir deneyim sağlamak için Linux komutlarını taklit eder.
PowerShell'de kalıcı Takma Adlar ayarlama
Varsayılan olarak oluşturduğunuz tüm takma adlar oturuma özeldir ve yalnızca geçerli PowerShell oturumu için kullanılabilir. Bu, PowerShell'i bir sonraki açışınızda kaybolacağı anlamına gelir. Takma adı kalıcı hale getirmek istiyorsanız PowerShell profiline Takma Ad eklemeniz gerekir.
PowerShell profiliniz, PowerShell'i her başlattığınızda çalışan bir komut dosyasıdır. Kalıcı Takma Adlar oluşturmak da dahil olmak üzere PowerShell ortamınızı özelleştirmek için kullanabilirsiniz. Kalıcı bir Takma Ad'ın nasıl oluşturulacağı aşağıda açıklanmıştır:
- PowerShell profilinizi açın. Notepad’de açmak için “notepad $PROFILE” komutunu kullanabilirsiniz.
- Takma adınızı oluşturmak için “Set-Alias” komutunu ekleyin. Örneğin:
Set-Alias -Name GCI -Value Get-ChildItem
- Dosyayı kaydedip kapatın.
- PowerShell'i yeniden başlatın.
Kalıcı Takma Adınız artık PowerShell'i her başlattığınızda kullanılabilir.
PowerShell Takma Adını parametrelerle kullanma
Komutlarınızı daha kısa ve daha okunaklı hale getirmek için parametreler içeren bir Takma Ad kullanabilirsiniz. Diyelim ki Get-Process komutunu, -Name parametresi Chrome olarak ayarlanmış halde sık sık kullandığınızı varsayalım. Bunu her seferinde yazmak yerine, bir işlev oluşturabilir ve daha sonra ona takma ad verebilirsiniz.
function Get-ChromeProcess {
$Process = Get-Process -Name chrome -ErrorAction SilentlyContinue
Return $Process
}
Set-Alias -Name gchrome -Value Get-ChromeProcess
Artık “chrome” yazarak tüm Chrome işlemlerini alacaksınız.
Takma Adları parametrelerle, gerçek cmdlet'leri kullandığınız şekilde kullanabilirsiniz. Takma adı olmayan örnek bir PowerShell betiğini ele alalım:
Get-ChildItem -Path C:\Windows -Recurse -Include *.exe | Where-Object { $_.Length -gt 10MB }
Bu komut, “C:\Windows” klasöründeki ve alt klasörlerdeki 10 MB'tan büyük tüm “.exe” dosyalarını listeler. Alias kullanılarak basitleştirilebilecek uzun bir komuttur:
GCI -Path C:\Windows -Recurse -Include *.exe | ? { $_.Length -gt 10MB }
Bu örnekte “Get-ChildItem” cmdlet’i için “GCI” Takma Adını ve “?” “Nerede-Nesne” cmdlet'inin takma adı. Ayrıca orijinal komuttakiyle aynı parametreleri kullandık. Alias'ı parametrelerle kullanmak, komutlarınızı daha kısa ve okunması daha kolay hale getirebilir.
PowerShell Takma Ad listesini yönetme
Daha fazla Takma Ad oluşturdukça bunları takip etmek zor olabilir. PowerShell, Takma Ad listenizi yönetmek için çeşitli komutlar sağlar. İşte bazı yararlı komutlar:
- Get-Alias: PowerShell oturumunuzdaki tüm Takma Adları listeler.
- Dışa Aktarma-Alias: Takma ad listenizi bir dosyaya aktarır.
- Import-Alias: Takma adı bir dosyadan içe aktarır.
- Takma Adı Kaldır: Bir Takma Adı kaldırır.
Takma Ad listenizi yönetmek, yedeklemek veya başkalarıyla paylaşmak için bu komutları kullanabilirsiniz.
Mevcut Bir Takma Adı Kaldırma
Bir takma adı kaldırmak için, takma adın yolu ile birlikte Öğeyi Kaldır komutu kullanılabilir.
Remove-Item Alias:aliasname
Örneğin, önceden oluşturulan "np" takma adını kaldırmak için şunu kullanırsınız:
Remove-Item Alias:np
Bu, “np” takma adını silecektir.
PowerShell Takma Adı ve İşlevi - Fark nedir?
PowerShell Takma Adı ve İşlevi komutların kısayollarıdır ancak farklı amaçları vardır. Takma ad bir cmdlet veya komut için bir kısayoldur; İşlev ise bir komut dosyası veya bir dizi komut için kısayoldur. Takma ad, komutlarınızı daha kısa ve hatırlanması kolay hale getirmek için kullanılırken İşlev, karmaşık görevleri otomatikleştirmek veya yeniden kullanılabilir kod oluşturmak için kullanılır.
Bir görevi otomatikleştirmek için bir İşlev ve işlev için oluşturulan bir Takma Ad kullanmanın bir örneğini burada bulabilirsiniz:
#Create a Function to Backup Files
Function Backup-MyFiles {
Param (
[Parameter(Mandatory=$true)]
[string]$Source,
[Parameter(Mandatory=$true)]
[string]$Destination
)
Get-ChildItem -Path $Source -Recurse -File | Copy-Item -Destination $Destination
}
#Create a alias for function
New-Alias -Name backup -Value Backup-MyFiles
Bu İşlev, "Kaynak" ve "Hedef" olmak üzere iki parametre alır ve "Kaynak" klasöründeki ve alt klasörlerdeki tüm dosyaları "Hedef" klasörüne kopyalar. Bu işlevi parametreler için farklı değerlerle tekrar tekrar kullanabilirsiniz veya Alias'ı parametrelerle kullanabilirsiniz:
#Call the function with parameters using its Alias
Backup -Source "C:\Source" -Destination "C:\Backup"
Özetle, PowerShell Takma Adı bir cmdlet veya komut için bir kısayol iken İşlev, bir komut dosyası veya bir dizi komut için bir kısayoldur.
PowerShell'deki Takma Ad Kapsamları
PowerShell'de kapsam, bir değişken, işlev veya takma ad gibi bir öğenin erişilebilirliğini ve yaşam döngüsünü tanımlar. Kapsam, takma adların nasıl çalıştığı ve bunlara nasıl erişilebileceği konusunda önemli bir rol oynar. Takma ad kapsamlarının kısa bir özetini ve bunları PowerShell betiklerinizde nasıl etkili bir şekilde kullanabileceğinizi burada bulabilirsiniz.
- Genel: Takma ad, geçerli PowerShell oturumu boyunca kullanılabilir.
- Yerel: Takma ad geçerli kod bloğuyla sınırlıdır.
- Komut Dosyası: Takma ad, tanımlandığı komut dosyasıyla sınırlıdır.
- Gizli: Takma ad, belirli bir kapsam ile kesinlikle sınırlıdır, alt kapsamlar için bile kullanılamaz.
Örneğin, bir komut dosyasında (.ps1) şunlara sahip olabilirsiniz:
New-Alias -Name sp -Value Set-Property -Scope Script
Burada sp, betiğin çalıştırıldığı süre boyunca mevcut olacak ancak betiğin dışında bulunamayacak.
PowerShell Takma Adını kullanmaya yönelik en iyi uygulamalar
PowerShell Takma Adını kullanmaya yönelik en iyi uygulamalardan bazıları şunlardır:
- Takma Adınız için kısa ve anlamlı isimler kullanın. Açıklayıcı olun. Takma adın açıklamasını kullanın.
- Standart Takma Adların Üzerine Yazmaktan Kaçının: PowerShell'de yaygın cmdlet'ler için birçok yerleşik takma ad bulunur. Yeni bir takma ad oluşturmadan önce, mevcut takma adın üzerine yazmadığınızdan emin olmak için Get-Alias'ı kullanın.
- Gelecekteki çakışmaları önlemek için özel takma adların önüne kısaltmalar veya kısaltmalar ekleyin.
- Yalnızca sık kullanılan komutlar için kalıcı Takma Adlar oluşturun.
- Başkalarıyla paylaşılacak komut dosyalarında Takma Adlar kullanmaktan kaçının.
- Takma Adlarınızı Yedekleyin: Özel takma adlarınızı düzenli olarak dışa aktarın, böylece onları yeni bir makineye aktarabilir veya bir şeyler ters giderse kurtarabilirsiniz.
- Takma Ad listenizi düzenli ve belgeli tutun.
Bu en iyi uygulamaları takip ederek çakışmaları önleyebilir, komut dosyalarınızın okunmasını ve bakımını kolaylaştırabilir ve PowerShell deneyiminizi iyileştirebilirsiniz.
Yaygın PowerShell Takma Adı sorunlarını giderme
Bazen PowerShell Takma Adınızla ilgili çakışmalar, hatalar veya beklenmeyen davranışlar gibi sorunlarla karşılaşabilirsiniz. İşte bazı yaygın sorunlar ve bunların nasıl giderileceği:
- Takma Ad Mevcut Değil: Bir takma ad kullanmaya çalışıyorsunuz ancak PowerShell bunun tanınmadığını gösteriyor. Takma adın mevcut olup olmadığını kontrol etmek için Get-Alias'ı kullanın. Bir oturumda oluşturulan takma adların, profilinize eklenmediği sürece sonraki oturumlarda kullanılamayacağını unutmayın.
- Mevcut veya gelecekteki cmdlet'ler veya komutlarla çakışma: Takma Adınız için, PowerShell veya gelecekteki cmdlet'ler veya komutlar tarafından halihazırda kullanılmayan farklı bir ad kullanın.
- Mevcut veya gelecekteki Takma Adlarla çakışma: Diğer Takma Adlar tarafından halihazırda kullanılan adları kullanmaktan kaçının.
- Takma ad adlarında yazım hataları veya hatalar: Takma adlarınızda yazım hataları veya hatalar olup olmadığını bir kez daha kontrol edin. Takma adınızın doğru oluşturulup oluşturulmadığını kontrol etmek için “Alias Al” komutunu kullanabilirsiniz.
- Beklenmeyen davranışlar: Takma adınızın doğru şekilde kullanılıp kullanılmadığını ve diğer komutlarla veya komut dosyalarıyla çakışıp çakışmadığını kontrol edin.
- Yeni Takma Ad : " adında bir takma ad zaten mevcut olduğundan takma ada izin verilmiyor. - Takma ad çakışması. Takma ad için farklı bir ad seçin.
- Farklı Ana Bilgisayarlarda Beklenmeyen Takma Ad Davranışı: Farklı ana bilgisayarlar (ör. ISE ve konsol) farklı profillere sahip olabilir. Her ana bilgisayar için ilgili profil komut dosyasını kontrol edin.
Bu sorun giderme adımlarını izleyerek çoğu PowerShell Takma Adı sorununu çözebilirsiniz. İşte PowerShell Takma Adıyla ilgili Microsoft Referansı
Kapanıyor
PowerShell Takma Adı zamandan tasarruf edebilir ve PowerShell deneyiminizi daha sorunsuz hale getirebilir. Bu başlangıç kılavuzunda PowerShell Alias'ın ne olduğunu, Alias'ın nasıl oluşturulacağını ve onu kullanmaya yönelik en iyi uygulamaları tartıştık. Ayrıca gelişmiş kullanımları, sık karşılaşılan sorunları gidermeyi ve Takma Ad ile İşlev arasındaki farkı da araştırdık. Artık Set-Alias kullanarak özel takma adların nasıl tanımlanacağı, Get-Alias ile mevcut takma adların nasıl görüntüleneceği, takma adların kalıcı hale getirileceği ve gereksiz takma adların nasıl kaldırılacağı konusunda sağlam bir anlayışa sahip olmalısınız.
En iyi uygulamaları takip ederek ve Alias'ı doğru kullanarak komut dosyalarınızı daha kısa ve okunabilir hale getirebilir, yazım hatalarından ve hatalardan kaçınabilir ve PowerShell'de üretkenliğinizi artırabilirsiniz.
Sıkça Sorulan Sorular:
PowerShell'deki takma adın amacı nedir?
PowerShell'de takma adlar, cmdlet'ler, işlevler ve komut dosyaları için alternatif adlar veya kısayollar oluşturmak için kullanılır. Yaygın olarak kullanılan komutlar için daha kısa ve daha tanıdık adlar kullanmanın bir yolunu sağlayarak PowerShell ile çalışmayı daha kolay ve hızlı hale getirirler. Takma adlar kullanıcı tarafından özelleştirilebilir ve oluşturulabilir, böylece daha kişiselleştirilmiş ve verimli bir PowerShell deneyimi sağlanır.
PowerShell'de nasıl takma ad oluşturursunuz?
PowerShell'de bir takma ad oluşturmak için Set-Alias cmdlet'ini ve ardından istediğiniz takma adı ve onunla ilişkilendirmek istediğiniz komutu veya işlevi kullanabilirsiniz. Örneğin, Get-ChildItem cmdlet'i için “ls” adında bir takma ad oluşturmak için şu komutu kullanırsınız: Set-Alias -Name ls -Value Get-ChildItem .
PowerShell'de kullanıcı takma adlarını nasıl listeleyebilirim?
Get-Alias cmdlet'i, PowerShell ile birlikte gelen yerleşik takma adların yanı sıra oluşturduğunuz tüm özel takma adları da içerecektir. Kullanıcı tarafından oluşturulan takma adları almak için mevcut takma ad listesini PowerShell'in yüklediği varsayılan takma ad listesiyle karşılaştırabiliriz. İşte nasıl:
$defaultAliases = powershell.exe -Command "Get-Alias | Select-Object -ExpandProperty Name"
$currentAliases = Get-Alias | Select-Object -ExpandProperty Name
#Find aliases that exist in the current session but not in the default session
$userAliases = $CurrentAliases | Where-Object { $_ -notin $defaultAliases }PowerShell'de parametre içeren bir takma ad nasıl oluşturulur?
Bir parametre alan bir işlev oluşturabilir ve ardından bu işlev için bir takma ad oluşturabilirsiniz. İşte bir örnek:
function Get-FileExtension ([string]$fileName) {
$extension = [System.IO.Path]::GetExtension($fileName)
Write-Host "File extension is: $extension"
}
#Create an alias for the function
Set-Alias -Name gfe -Value Get-FileExtension
#Call the Alias
gfe -fileName "example.txt"PowerShell'de bir takma ad nasıl kaldırılır?
PowerShell'de bir takma adı kaldırmak için Remove-Item cmdlet'ini ve ardından takma adı kullanabilirsiniz. Örneğin, "myAlias" adlı bir takma adı kaldırmak için şu komutu kullanırsınız: Remove-Item alias:myAlias.


