PowerShell

PowerShell Ortam Değişkenleri

PowerShell Çevre Değişkenleri, PowerShell Environment Variables

PowerShell Ortam Değişkenleri

PowerShell ortam değişkenleri, işletim sisteminin yolu, işletim sisteminiz tarafından kullanılan işlemci sayısı ve sistem geçici klasörlerinizin adresi gibi işletim sistemi bilgilerini içerir. Buradaki ilk soru, neden ortam değişkenlerine ihtiyacımız var? Bir script yazdığınızı varsayalım. Bu scriptin, eğer yerel bilgisayarlarınızda çalışırsa farklı bir işlem yapmasını ve bir sunucu bilgisayarı üzerinde çalışırsa, daha farklı bir işlem yapmasını istiyoruz. “Script nerede çalıştığını nasıl bilecektir?” sorusunun cevabı; ortam ve çevre değişkenlerinin yardımıyla görevleri buna göre ayırt edebilir ve gerçekleştirir şeklindedir. İşletim sistemimizde birkaç ortam değişkeni vardır. Örneğin işletim sistemimizde oturum açtığımızda bize ait dizinlerimiz (home) ayarlanır.

PowerShell de tanımlanmış olan ortam değişkenlerini görmek için aşağıdaki komut kullanılabilir:

Set-Location Env:
Get-Item Env:

PowerShell Ortam Değişkenleri Nasıl Tanımlanır?

Aşağıda PowerShell ortam değişkeni tanımlamaya yönelik örnekler verilmiştir:

Örnek 1

Bir “stage“, birde “production” ortamı olmak üzere iki ayrı ortam oluşturmak istediğimizi varsayalım. Geliştirme yaparken kodlarımızın eğer ortam stage ise farklı, production ise farklı davranmasını istiyoruz. Bunun için aşağıdaki yapıyı kullanabiliriz. Görülebileceği üzere, “Get-ChildItem” komutu ile gerekli yapılandırmanızı görebilir ve ilgili aksiyonları gerçekleştirebilirsiniz.

Stage Ortamı:
PS Env:\> $env:ServerName = 'stage'
Get-ChildItem Env:ServerName

Name                           Value                                                                                                                                                         
----                           -----                                                                                                                                                         
ServerName                     stage                                                                                                                                                         

PS Env:\>
Production Ortamı:
PS Env:\> $env:ServerName = 'production'
Get-ChildItem Env:ServerName

Name                           Value                                                                                                                                                         
----                           -----                                                                                                                                                         
ServerName                     production                                                                                                                                                    


PS Env:\>

Örnek 2

Kendi ortam değişkenimizi tanımlayabiliriz ve ihtiyaca göre değerini alabiliriz. Aşağıdaki örnekte çok basit bir sözdizimi ve örneği görebilirsiniz. “BenimDegerli_ENV” değerini ayarlıyoruz ve “Get-ChildItem” komutuyla değerini alıyoruz.

Kod:
# $Env:<degisken-adi> += "<yeni-deger>"
$Env:BenimDegerli_ENV += "Aktif Dizin"
Get-ChildItem Env:BenimDegerli_ENV
Çıktı:
PowerShell Ortam Değişkenleri Nasıl Tanımlanır?
PowerShell Ortam Değişkenleri Nasıl Tanımlanır?

PowerShell Ortam Değişkenleri Listesi

İki tür ortam değişkeni vardır:

Sistem Tanımlı Ortam Değişkenleri:

Sistem tanımlı ortam değişkenleri sayesinde, işletim sisteminin hangi sürücüden başlayacağı, kullanıcıya özel dizinlerin nasıl ayarlanacağı ve diğer önemli yolların nasıl belirleneceği belirlenmiştir.

Bütün sistemlerde, uygulamalar için dosya yolları, işlemci mimarisi, windows yolu gibi bir çok ortam için ortam değişkenleri tutulur. Aşağıdaki komut kullanılabilir tüm ortamları görüntüler. Windows, Linux ve Apple işletim sistemleri gibi farklı mimaridaki sistemler için değerler farklıdır.

Komut:
Get-ChildItem Env:
Çıktı:
PS C:\Users\ahmet> Get-ChildItem Env:

Name                           Value                                                                                 
----                           -----                                                                                 
ALLUSERSPROFILE                C:\ProgramData                                                                        
APPDATA                        C:\Users\ahmet\AppData\Roaming                                                                                                                                
CommonProgramFiles             C:\Program Files\Common Files                                                         
CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files                                                   
CommonProgramW6432             C:\Program Files\Common Files                                                         
COMPUTERNAME                   AHMET                                                                            
ComSpec                        C:\Windows\system32\cmd.exe                                                           
DriverData                     C:\Windows\System32\Drivers\DriverData                                                
FPS_BROWSER_APP_PROFILE_STRING Internet Explorer                                                                     
FPS_BROWSER_USER_PROFILE_ST... Default                                                                               
HOMEDRIVE                      C:                                                                                    
HOMEPATH                       \Users\ahmet                                                                          
LOCALAPPDATA                   C:\Users\ahmet\AppData\Local                                                          
LOGONSERVER                    \\AKTIFDIZIN                                                                          
NUMBER_OF_PROCESSORS           4                                                                                     
OneDrive                       C:\Users\ahmet\OneDrive                                                               
OS                             Windows_NT                                                                            
Path                           C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\Windows...
PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL                            
PROCESSOR_ARCHITECTURE         AMD64                                                                                 
PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 42 Stepping 7, GenuineIntel                                    
PROCESSOR_LEVEL                6                                                                                     
PROCESSOR_REVISION             2a07                                                                                  
ProgramData                    C:\ProgramData                                                                        
ProgramFiles                   C:\Program Files                                                                      
ProgramFiles(x86)              C:\Program Files (x86)                                                                
ProgramW6432                   C:\Program Files                                                                      
PSModulePath                   C:\Users\ahmet\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShe...
PUBLIC                         C:\Users\Public                                                                       
SESSIONNAME                    Console                                                                               
SystemDrive                    C:                                                                                    
SystemRoot                     C:\Windows                                                                            
TEMP                           C:\Users\ahmet\AppData\Local\Temp                                                     
TMP                            C:\Users\ahmet\AppData\Local\Temp                                                     
USERDOMAIN                     AKTIFDIZIN                                                                            
USERDOMAIN_ROAMINGPROFILE      AKTIFDIZIN                                                                            
USERNAME                       ahmet                                                                                 
USERPROFILE                    C:\Users\ahmet                                                                        
windir                         C:\Windows                                                                            


PS C:\Users\ahmet>

Ayrıca, bu ayrıntıları “Sort-Object Name” komutu ile isime göre sıralayabiliriz.

Kod:
Get-ChildItem Env: | Sort-Object Name

Aşağıdaki şekilde bir herhangi bir özelliğin değerine ulaşılabilir.

PS C:\Users\ahmet> $env:WINDIR
C:\Windows

PS C:\Users\ahmet> 
PS C:\Users\ahmet> $env:PATH
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Users\ahmet\AppData\Local\Microsoft\WindowsApps;

PS C:\Users\ahmet> 

Get-ChildItem $Env:Temp -Recurse” komutu ile tüm Temp dosyaları görülebilir.

PowerShell "Get-ChildItem $Env:Temp -Recurse" Komutu
PowerShell “Get-ChildItem $Env:Temp -Recurse” Komutu

Bir ortam değişkeni değerini görmek

Herhangi bir ortam değişkeni değerini görmek için aşağıdaki komutu  kullanabilirsiniz. Sadece görmek istediğiniz ortam değişkeninin adını girmeniz yeterlidir.

PS C:\Users\ahmet> $env:ProgramData
C:\ProgramData

PS C:\Users\ahmet> $env:TMP
C:\Users\ahmet\AppData\Local\Temp

PS C:\Users\ahmet> $env:PUBLIC
C:\Users\Public

PS C:\Users\ahmet> $env:SystemRoot
C:\Windows

PS C:\Users\ahmet> $env:SystemDrive
C:

PS C:\Users\ahmet> 

Özel Tanımlı Ortam Değişkenleri:

Diğer bir ortam değişkeni tipi ise  özel tanımlı ortam değişkenleridir ve bunlar kendi kullanımlarımız için tanımlanmış değişkenlerdir. Örneğin bir uygulama geliştirdiysek ve bu uygulamanın farklı ortamlarda farklı şekillerde çalışmasını istiyorsak bu tip değişkenler kullanılabilir.

PS C:\Users\ahmet> $Env:FOO = "Merhaba Aktif Dizin Dünyası!"
Get-ChildItem Env:FOO


Name                           Value                                                                                        
----                           -----                                                                                        
FOO                            Merhaba Aktif Dizin Dünyası!                                                                 

PS C:\Users\ahmet>

 


PowerShell Ortam Değişkenleri

Makalemizi okuduğunuz için teşekkür ederiz. Soru ve önerileriniz için aşağıdaki formu kullanarak bize ulaşabilirsiniz. “PowerShell Değişkenler” isimli makale de ilginizi çekebilir. Ortam değişkenleri ile ilgili Microsoft dökümanları da incelenebilir.

Daha Fazla Göster

Ahmet Elibol

Üniversite eğitimini Kimya ve İşletme bölümlerinde tamamlayan Ahmet Elibol, yüksek lisans eğitimini de İşletme (Master of Business Administration - MBA) üzerinde tamamlamıştır. 1999 yılından bu yana bilişim sektöründe bulunmaktadır.  Ahmet Elibol, profesyonel kariyerine aldığı pascal ve delphi ile yazılım mühendisliği eğitimiyle başlamıştır. 2004 yılından sonra ilgi ve uzmanlık alanlarını Microsoft Sunucu Sistemleri, Sistem Programlama ve Bilgi Güvenliği konularında güncellemiştir. Yazar 4 yıl kadar bir akademide Sistem Mühendisliği eğitimleri de vermiştir. Yazar hobi amaçlı programlama, yapay zeka, makine öğrenmesi, yapay sinir ağları, görüntü işleme ve nesnelerin interneti konularında çalışmaktadır. İngilizce, Rusça dillerini bilen Ahmet Elibol MCT, MCITP, MCTS, MCSE, MCSA vb. uzmanlık sertifikalarına sahiptir ve Bilgisayar Mühendisliği yüksek lisansına devam etmektedir.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu