about_Çevresel_Değişkenler

Kısa açıklama

PowerShell'de ortam değişkenlerine nasıl erişileceğini ve yönetileceğini açıklar.

Uzun açıklama

Ortam değişkenleri, işletim sistemi ve diğer programlar tarafından kullanılan verileri depolar. PowerShell aşağıdaki ortam değişkenlerini oluşturur:

  • POWERSHELL_TELEMETRY_OPTOUT
  • POWERSHELL_DISTRIBUTION_CHANNEL
  • POWERSHELL_UPDATECHECK
  • POWERSHELL_DIAGNOSTICS_OPTOUT
  • PSExecutionPolicyPreference
  • PSModulePath
  • PSModuleAnalysisCachePath
  • PSDisableModuleAnalysisCacheCleanup

Bu değişkenlerin tam açıklamaları için bu makalenin PowerShell ortam değişkenleri bakın.

PowerShell desteklenen işletim sistemi platformlarından herhangi birinde ortam değişkenlerine erişebilir ve bu değişkenleri yönetebilir. PowerShell Ortam sağlayıcısı, geçerli konsolda ortam değişkenlerini almanıza, eklemenize, değiştirmenize, temizlemenize ve silmenize olanak tanır.

Not

Windows'un aksine, macOS ve Linux'ta ortam değişkeni adları büyük/küçük harfe duyarlıdır. Örneğin, $Env:Path ve $Env:PATH Windows dışı platformlarda farklı ortam değişkenleridir.

Ortam değişkenleri, PowerShell'deki diğer değişken türlerinden farklı olarak her zaman dize olarak depolanır. Ayrıca diğer değişkenlerin aksine, bunlar yerel arka plan işleri ve modül üyelerinin çalıştırıldığı oturumlar gibi alt işlemler tarafından devralınır. Bu, ortam değişkenlerini hem üst hem de alt işlemlerde gerekli olan değerleri depolamak için uygun hale getirir.

Windows'da ortam değişkenleri üç kapsamda tanımlanabilir:

  • Makine (veya Sistem) kapsamı
  • Kullanıcı kapsamı
  • İşlem kapsamı

İşlem kapsamı, geçerli işlemde veya PowerShell oturumunda kullanılabilen ortam değişkenlerini içerir. Bu değişken listesi üst işlemden devralınır ve Machine ve User kapsamlarındaki değişkenlerden oluşturulur.

PowerShell'de ortam değişkenlerini değiştirdiğinizde, değişiklik yalnızca geçerli oturumu etkiler. Bu davranış, Windows Komut Kabuğu'ndaki set komutunun ve Unix tabanlı ortamlarda setenv komutunun davranışına benzer. Makine veya Kullanıcı kapsamlarındaki değerleri değiştirmek için System.Environment sınıfının yöntemlerini kullanmanız gerekir.

Makine kapsamlı değişkenlerde değişiklik yapmak için izniniz de olmalıdır. Yeterli izin olmadan bir değeri değiştirmeye çalışırsanız, komut başarısız olur ve PowerShell bir hata görüntüler.

PowerShell, ortam değişkenlerini kullanmak ve yönetmek için birkaç farklı yöntem sağlar.

  • Değişken söz dizimi
  • Ortam sağlayıcısı ve Nesne cmdlet'leri
  • .NET System.Environment sınıfı

Değişken söz dizimini kullanma

Ortam değişkenlerinin değerlerini aşağıdaki söz dizimiyle görüntüleyebilir ve değiştirebilirsiniz:

$Env:<variable-name>

Örneğin, windir ortam değişkeninin değerini görüntülemek için:

$Env:windir
C:\Windows

Bu söz diziminde dolar işareti ($) bir değişkeni, sürücü adı (Env:) ise ortam değişkenini ve ardından değişken adını (windir) gösterir.

Ortam değişkenlerinin değerini aşağıdaki söz dizimiyle oluşturabilir ve güncelleştirebilirsiniz:

$Env:<variable-name> = "<new-value>"

Örneğin, Foo ortam değişkenini oluşturmak için:

$Env:Foo = 'An example'

Ortam değişkenleri her zaman dize olduğundan, bunları dize içeren diğer değişkenler gibi kullanabilirsiniz. Mesela:

"The 'Foo' environment variable is set to: $Env:Foo"
$Env:Foo += '!'
$Env:Foo
The 'Foo' environment variable is set to: An example

An example!

PowerShell 7.5'te başlayarak ortam değişkenini boş bir dizeye ayarlayabilirsiniz. Ortam değişkenini geçerli oturumdan kaldıracak $null şekilde ayarlamak. Mesela:

PS> $env:TEST = ''
PS> Get-ChildItem env:TEST

Name                           Value
----                           -----
TEST

PS> $env:TEST = $null
PS> $env:TEST.Length
0

PS> Get-ChildItem env:TEST

Get-ChildItem: Cannot find path 'TEST' because it does not exist.

PowerShell'deki değişkenler hakkında daha fazla bilgi için bkz. about_Variables.

Ortam sağlayıcısını ve Öğe cmdlet'lerini kullanma

PowerShell'in Ortam sağlayıcısı, ortam değişkenleriyle dosya sistemi sürücüsüne benzeyen bir biçimde etkileşim kurmanıza yönelik bir arabirim sağlar. PowerShell'de ortam değişkenlerini ve değerlerini almanıza, eklemenize, değiştirmenize, temizlemenize ve silmenize olanak tanır.

Örneğin, değeri Fooolan Bar ortam değişkenini oluşturmak için:

New-Item -Path Env:\Foo -Value 'Bar'
Name                           Value
----                           -----
Foo                            Bar

Ortam değişkenini Copy-Itemile de kopyalayabilir, Set-Itemile bir ortam değişkeninin değerini ayarlayabilir, ortam değişkenlerini Get-Itemile listeleyebilir ve Remove-Itemile ortam değişkenini silebilirsiniz.

Copy-Item -Path Env:\Foo -Destination Env:\Foo2 -PassThru
Set-Item -Path Env:\Foo2 -Value 'BAR'
Get-Item -Path Env:\Foo*
Remove-Item -Path Env:\Foo* -Verbose
Name                           Value
----                           -----
Foo2                           Bar

Name                           Value
----                           -----
Foo2                           BAR
Foo                            Bar

VERBOSE: Performing the operation "Remove Item" on target "Item: Foo2".
VERBOSE: Performing the operation "Remove Item" on target "Item: Foo".

Ortam değişkenlerinin tam listesini görmek için Get-ChildItem cmdlet'ini kullanın:

Get-ChildItem Env:

PowerShell 7.5'te başlayarak ortam sağlayıcısını ve Set-Item cmdlet'ini kullanarak ortam değişkenini boş bir dizeye ayarlayabilirsiniz. Ortam değişkenini geçerli oturumdan kaldıracak $null şekilde ayarlamak. Mesela:

PS> Set-Item env:TEST 'Foo'
PS> Get-ChildItem env:TEST

Name                           Value
----                           -----
TEST                           Foo

PS> Set-Item env:TEST ''
PS> Get-ChildItem env:TEST

Name                           Value
----                           -----
TEST

PS> Set-Item -Path env:TEST -Value $null
PS> Get-ChildItem env:TEST
Get-ChildItem: Cannot find path 'TEST' because it does not exist.

Ortam değişkenlerini yönetmek için Ortam sağlayıcısını kullanma hakkında daha fazla bilgi için bkz. about_Environment_Provider.

System.Environment yöntemlerini kullanın

System.Environment sınıfı, ortam değişkenlerini almak ve değiştirmek için GetEnvironmentVariable() ve SetEnvironmentVariable() yöntemleri sağlar.

Aşağıdaki örnek, Foo değeriyle Baryeni bir ortam değişkeni oluşturur ve değerini döndürür.

[Environment]::SetEnvironmentVariable('Foo','Bar')
[Environment]::GetEnvironmentVariable('Foo')
Bar

PowerShell 7.5'te başlayarak, yöntemini kullanarak ve boş bir dize veya değişkenin SetEnvironmentVariable() değeri için bir ortam değişkenini boş bir dizeye $null ayarlayabilirsiniz. Mesela:

PS> [Environment]::SetEnvironmentVariable('Foo','Bar')
PS> Get-ChildItem env:Foo

Name                           Value
----                           -----
Foo                            Bar

PS> [Environment]::SetEnvironmentVariable('Foo','')
PS> Get-ChildItem env:Foo

Name                           Value
----                           -----
Foo

PS> [Environment]::SetEnvironmentVariable('Foo','bar')
PS> Get-ChildItem env:Foo

Name                           Value
----                           -----
Foo                            bar

PS> [Environment]::SetEnvironmentVariable('Foo',$null)
PS> Get-ChildItem env:Foo

Name                           Value
----                           -----
Foo

Not

Değişken söz diziminin ve sağlayıcı durumlarının aksine, yöntemini kullanarak $null değerinin SetEnvironmentVariable() atanması ortam değişkenini kaldırmaz.

System.Environment sınıfının yöntemleri hakkında daha fazla bilgi için bkz. Ortam Yöntemleri.

Windows'da kalıcı ortam değişkenleri oluşturma

Windows'da, ortam değişkeninde kalıcı bir değişiklik yapmak için üç yöntem vardır:

  • Bunları profilinizde ayarlama
  • SetEnvironmentVariable() yöntemini kullanma
  • Sistem Denetim Masası'nı kullanma

Profilinizde ortam değişkenlerini ayarlama

PowerShell profilinize eklediğiniz veya değiştirdiğiniz ortam değişkenleri, profilinizi yükleyen tüm oturumlarda kullanılabilir. Bu yöntem desteklenen herhangi bir platformda PowerShell'in herhangi bir sürümü için çalışır.

Örneğin, CompanyUri ortam değişkenini oluşturmak ve PATH ortam değişkenini C:\Tools klasörünü içerecek şekilde güncelleştirmek için PowerShell profilinize aşağıdaki satırları ekleyin:

$Env:CompanyUri = 'https://internal.contoso.com'
$Env:PATH += ';C:\Tools'

Not

Linux veya macOS'ta, yeni bir yolu listeden önce gelen yoldan ayırmak için noktalı virgül (:) yerine iki nokta üst üste (;) kullanılır.

$PROFILE otomatik değişkeniyle PowerShell profilinizin yolunu alabilirsiniz. Profiller hakkında daha fazla bilgi için bkz. about_Profiles.

SetEnvironmentVariable() ile ortam değişkenlerini ayarlama

Windows'da, SetEnvironmentVariable() yöntemi için bir kapsam belirterek bu kapsamdaki ortam değişkenini ayarlamak için üçüncü parametreyi belirtebilirsiniz. Hem makine hem de kullanıcı kapsamları geçerli işlemin dışında kalır ve yeni veya değiştirilmiş bir ortam değişkenini kaydetmenize olanak tanır.

Örneğin, Foodeğeriyle Bar yeni bir ortam değişkenini makine kapsamına kaydetmek için:

[Environment]::SetEnvironmentVariable('Foo', 'Bar', 'Machine')

Bir ortam değişkenini, değişkenin değerini boş bir dize olarak ayarlayarak kullanıcı veya makine kapsamından silebilirsiniz.

[Environment]::SetEnvironmentVariable('Foo', '', 'Machine')

Sistem Denetim Masası'nda ortam değişkenlerini ayarlama

Sistem Denetim Masası'nda, Kullanıcı ve Sistem (Makine) kapsamlarına mevcut ortam değişkenlerini ekleyebilir veya düzenleyebilirsiniz. Windows bu değerleri kayıt defterine yazarak oturumlar ve sistem yeniden başlatmaları arasında kalıcı olmasını sağlar.

Sistem Denetim Masası'nı kullanarak Windows'daki bir ortam değişkeninde kalıcı bir değişiklik yapmak için:

  1. Sistem Denetim Masası'nı açın.
  2. Sistemiseçin.
  3. Seç Gelişmiş Sistem Ayarları.
  4. Gelişmiş sekmesine gidin.
  5. Ortam Değişkenleri...seçin.
  6. Değişikliklerinizi yapın.

Windows olmayan platformlarda kalıcı ortam değişkenleri oluşturma

Linux ve macOS'ta, işletim sisteminin bir uygulamayı başlatmadan önce ortam değişkenlerini ayarlamak için kullandığı yapılandırma dosyaları ve betikleri vardır.

PowerShell'i varsayılan (oturum açma) kabuğu olarak çalıştırırken, işletim sistemi tarafından desteklenen genel başlatma dosyalarında ortam değişkenleri tanımlayabilirsiniz. Örneğin Linux'ta, /etc/environment dosyasına ortam değişkenleri ekleyebilir veya ortam değişkenlerini ayarlayıp /etc/profile.d klasörüne yerleştiren bir betik oluşturabilirsiniz. macOS'ta, /etc/profile dosyasına ortam değişkenleri ekleyebilirsiniz.

PowerShell'i başka bir kabuktan başlatırken, ~/.bashrc için bash veya ~/.zshrciçin zsh gibi oturum açma dışı kabuklar tarafından kullanılan kabuğa özgü başlatma dosyalarında ortam değişkenleri tanımlayabilirsiniz.

Daha fazla bilgi için işletim sisteminizin ve varsayılan kabuğunuzun belgelerine bakın.

PowerShell ortam değişkenleri

PowerShell özellikleri, kullanıcı tercihlerini depolamak için ortam değişkenlerini kullanabilir. Bu değişkenler tercih değişkenleri gibi çalışır, ancak oluşturuldukları oturumların alt oturumları tarafından devralınır. Tercih değişkenleri hakkında daha fazla bilgi için bkz. about_Preference_Variables.

Tercihleri depolayan ortam değişkenleri şunlardır:

  • POWERSHELL_TELEMETRY_OPTOUT

    Telemetriyi geri çevirmek için ortam değişkenini true, yesveya 1olarak ayarlayın. Daha fazla bilgi için bkz. about_Telemetry.

    Bu ortam değişkeninin etkili olması için PowerShell işlemi başlatılmadan önce ayarlanması gerekir. Kalıcı ortam değişkenleri oluşturma hakkında bilgi için önceki bölümlere bakın.

  • POWERSHELL_DISTRIBUTION_CHANNEL

    PowerShell 7.2 sürümünden başlayarak, bu ortam değişkeni yükleyici paketleri tarafından PowerShell için yükleme yöntemini ve kaynağını kaydedecek şekilde ayarlanır.

    Bu bilgiler, Microsoft'a gönderilen telemetri verilerine eklenir. Kullanıcılar bu değeri değiştirmemelidir.

  • POWERSHELL_UPDATECHECK

    Güncelleştirme bildirimi davranışı, POWERSHELL_UPDATECHECK ortam değişkeni kullanılarak değiştirilebilir. Daha fazla bilgi için bkz. about_Update_Notifications.

    Aşağıdaki değerler desteklenir:

    • Off güncelleştirme bildirimi özelliğini kapatır
    • Default, POWERSHELL_UPDATECHECKtanımlamama ile aynıdır:
      • GA sürümleri güncellemeler hakkında bildirim yapar
      • Önizleme/RC sürümleri, GA güncelleştirmelerini ve önizleme sürümlerini bildirir
    • LTS yalnızca uzun süreli hizmet (LTS) GA sürümlerine yönelik güncelleştirmeleri bildirir

    PowerShell işlemi başlatılmadan önce ortam değişkeninin varsayılan olmayan değerleri ayarlanmalıdır. Kalıcı ortam değişkenleri oluşturma hakkında bilgi için önceki bölümlere bakın.

  • POWERSHELL_DIAGNOSTICS_OPTOUT

    Bu ortam değişkeni PowerShell 7.6-preview.5'e eklendi. PowerShell varsayılan olarak, gibi Enter-PSHostProcessİşlemler Arası İletişim (IPC) için kullanılan adlandırılmış bir kanal oluşturur. PowerShell, gerektiğinde kullanılabilir olması için başlangıçta adlandırılmış kanalı oluşturur.

    Windows olmayan platformlarda, adlandırılmış kanallar klasörde dosya /tmp olarak uygulanır. PowerShell kilitleniyorsa, bu dosyalar silinmeyebilir. Zaman içinde bu dosyalar birikebilir.

    PowerShell 7.6 POWERSHELL_DIAGNOSTICS_OPTOUT sürümünden itibaren olarak falseayarlanır. Adlandırılmış kanalın oluşturulmasını kapatmak için ortam değişkenini , trueveya yesolarak 1ayarlayın.

  • PSExecutionPolicyPreference

    Geçerli oturum için ayarlanan yürütme ilkesini depolar. Bu ortam değişkeni yalnızca tek bir oturum için bir yürütme ilkesi ayarladığınızda bulunur. Bunu iki farklı yolla yapabilirsiniz.

    • Oturum için yürütme ilkesini ayarlamak üzere ExecutionPolicy parametresini kullanarak komut satırından bir oturum başlatın.

    • Set-ExecutionPolicy cmdlet'ini kullanın. Kapsam parametresini, Processdeğeriyle kullanın.

    • Ortam değişkenini el ile ayarlayın. Bu değişkenin değerinin değiştirilmesi geçerli işlemin yürütme ilkesini değiştirir.

    Bu bilgiler yalnızca Windows platformu için geçerlidir. Daha fazla bilgi için bkz. about_Execution_Policies.

  • PSModulePath

    $Env:PSModulePath ortam değişkeni, modülleri ve kaynakları bulmak için aranan klasör konumlarının listesini içerir. Windows'ta, klasör konumlarının listesi noktalı virgül (;) karakteriyle ayrılır. Windows olmayan platformlarda iki nokta üst üste (:) ortam değişkenindeki klasör konumlarını ayırır.

    Varsayılan olarak, $Env:PSModulePath atanan geçerli konumlar şunlardır:

    • Sistem genelinde konumlar: Bu klasörler PowerShell ile birlikte gelen modülleri içerir. Modüller $PSHOME\Modules konumda depolanıyor. Ayrıca, Bu, Windows yönetim modüllerinin yüklü olduğu konumdur.

    • Kullanıcı tarafından yüklenen modüller: Bunlar, kullanıcı tarafından yüklenen modüllerdir. Install-Module, modülün geçerli kullanıcı için mi yoksa tüm kullanıcılar için mi yükleneceğini belirtmenize olanak tanıyan bir Kapsam parametresine sahiptir. Daha fazla bilgi için bkz. Install-Module.

      • Windows'da, kullanıcıya özgü CurrentUser kapsamının konumu $HOME\Documents\PowerShell\Modules klasörüdür. AllUsers kapsamının konumu $Env:ProgramFiles\PowerShell\Modules'dir.
      • Windows olmayan sistemlerde, kullanıcıya özgü CurrentUser kapsamının konumu $HOME/.local/share/powershell/Modules klasörüdür. AllUsers kapsamının konumu /usr/local/share/powershell/Modules'dir.

    Ayrıca, Program Files dizini gibi diğer dizinlere modül yükleyen kurulum programları, konumlarını $Env:PSModulePathdeğerine ekleyebilir.

    Daha fazla bilgi için bkz. about_PSModulePath.

  • PSModuleAnalysisCachePath

    PowerShell, modüller ve cmdlet'leri hakkındaki verileri önbelleğe almak için kullanılan dosya üzerinde denetim sağlar. Önbellek, komut aranırken başlangıçta okunur ve bir modül içeri aktarıldıktan bir süre sonra arka plan iş parçacığına yazılır.

    Önbelleğin varsayılan konumu:

    • Windows PowerShell 5.1: $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell
    • PowerShell 6.0 ve üzeri: $Env:LOCALAPPDATA\Microsoft\PowerShell
    • Windows dışı varsayılan: ~/.cache/powershell

    Önbelleğin varsayılan dosya adı ModuleAnalysisCache. PowerShell'in birden çok örneği yüklü olduğunda dosya adı, yükleme başına benzersiz bir dosya adı olması için onaltılık bir sonek içerir.

    Not

    Komut bulma düzgün çalışmıyorsa, örneğin IntelliSense mevcut olmayan komutları gösteriyorsa önbellek dosyasını silebilirsiniz. Önbellek, PowerShell'i bir sonraki başlatışınızda yeniden oluşturulur.

    Önbelleğin varsayılan konumunu değiştirmek için PowerShell'i başlatmadan önce ortam değişkenini ayarlayın. Değerin, PowerShell'in dosya oluşturma ve yazma iznine sahip olduğu bir tam yolu (dosya adı dahil) adlandırması gerekir.

    Bu ortam değişkenindeki değişiklikler yalnızca alt işlemleri etkiler. Kalıcı ortam değişkenleri oluşturma hakkında bilgi için önceki bölümlere bakın.

    Dosya önbelleğini devre dışı bırakmak için bu değeri geçersiz bir konuma ayarlayın, örneğin:

    # `NUL` here is a special device on Windows that can't be written to,
    # on non-Windows you would use `/dev/null`
    $Env:PSModuleAnalysisCachePath = 'NUL'
    

    Bu, NUL cihazının yolunu ayarlar. PowerShell yola yazamıyor, ancak hata mesajı alınmıyor. İzleme kullanılarak bildirilen hataları görebilirsiniz:

    Trace-Command -PSHost -Name Modules -Expression {
      Import-Module Microsoft.PowerShell.Management -Force
    }
    
  • PSDisableModuleAnalysisCacheCleanup

    Modül analizi önbelleğini yazarken, PowerShell gereksiz yere büyük bir önbellekten kaçınmak için artık mevcut olmayan modülleri denetler. Bazen bu denetimler istenmez; bu durumda bu ortam değişkeni değerini 1olarak ayarlayarak bunları kapatabilirsiniz.

    Bu ortam değişkeninin ayarlanması, geçerli işlemdeki sonraki temizleme olayları için geçerli olur. Temizleme işleminin başlangıçta devre dışı bırakıldığından emin olmak için PowerShell'i başlatmadan önce ortam değişkenini ayarlamanız gerekir. Kalıcı ortam değişkenleri oluşturma hakkında bilgi için önceki bölümlere bakın.

PowerShell tarafından kullanılan diğer ortam değişkenleri

Yol bilgileri

  • PATH

    $Env:PATH ortam değişkeni, işletim sisteminin yürütülebilir dosyalar için arama yaptığı klasör konumlarının listesini içerir. Windows'ta, klasör konumlarının listesi noktalı virgül (;) karakteriyle ayrılır. Windows olmayan platformlarda iki nokta üst üste (:) ortam değişkenindeki klasör konumlarını ayırır.

  • PATHEXT

    $Env:PATHEXT değişkeni, Windows'un yürütülebilir dosya olarak kabul ettiğini düşündüğü dosya uzantılarının listesini içerir. Listelenen uzantılardan birine sahip bir betik dosyası PowerShell'den yürütülürse, betik geçerli konsol veya terminal oturumunda çalışır. Dosya uzantısı listelenmiyorsa, komut dosyası yeni bir konsol oturumunda çalışır.

    Başka bir programlama diline ait betiklerin geçerli konsol oturumunda çalıştığından emin olmak için, betik dili tarafından kullanılan dosya uzantısını konsol oturumuna ekleyin. Örneğin, python betiklerini geçerli konsolda çalıştırmak için .py uzantısını ortam değişkenine ekleyin. Windows'un .py uzantısını yürütülebilir dosya olarak desteklemesi için, CMD komut kabuğunun ftype ve assoc komutlarını kullanarak dosya uzantısını kaydetmeniz gerekir. PowerShell'in dosya işleyicisini kaydetmek için doğrudan bir yöntemi yoktur. Daha fazla bilgi için ftype komutunun belgelerine bakın.

    PowerShell betikleri her zaman geçerli konsol oturumunda başlar. .ps1 uzantısını eklemeniz gerekmez.

  • XDG değişkenleri

    Windows olmayan platformlarda PowerShell, XDG Temel Dizin Belirtimitarafından tanımlanan aşağıdaki XDG ortam değişkenlerini kullanır.

    • XDG_CONFIG_HOME
    • XDG_DATA_HOME
    • XDG_CACHE_HOME

Terminal özellikleri

PowerShell 7.2'de başlayarak, çıkışı renklendiren ANSI kaçış dizileri gibi Sanal Terminal özelliklerini denetlemek için aşağıdaki ortam değişkenleri kullanılabilir. ANSI kaçış dizileri desteği, TERM veya NO_COLOR ortam değişkenleri kullanılarak kapatılabilir.

  • TERM

    Aşağıdaki $Env:TERM değerleri davranışı aşağıdaki gibi değiştirir:

    • dumb - $Host.UI.SupportsVirtualTerminal = $false'i ayarlar
    • xterm-mono - $PSStyle.OutputRendering = PlainText'i ayarlar
    • xterm - $PSStyle.OutputRendering = PlainText'i ayarlar
  • NO_COLOR

    $Env:NO_COLOR varsa, $PSStyle.OutputRenderingPlainTextolarak ayarlanır. NO_COLOR ortam değişkeni hakkında daha fazla bilgi için bkz. https://no-color.org/.

Ayrıca bakınız