Windows 8 Developer Preview : VHD’den test

   Çıktı, çıkacak derken nihayet Windows 8 biz yazılım geliştiricilerin incelemesine açıldı. Bu makalemde, her yeni şeyi test etme aşkıyla yanıp tutuşan biz yazılım geliştiricilerin nasıl biraz daha güvenli sularda Windows 8 testi yapabileceğimizi anlatacağım. Şunu da not olarak düşeyim; Windows 8’i dokunmatik bir bilgisayar üzerinde test etmek için ne kadar sabırsızlansam da bu makalemi yazabilmek adına biraz sabrettim…

   Windows 8 ile birlikte Microsoft önceki işletim sistemlerinde takip ettiği geliştirme patikasında bazı değişiklikler yaptı. Öncelikle daha fazla açıklık politikası ile geri bildirimler toplayarak işletim sistemini bu doğrultuda daha da iyileştirmeyi hedeflemekte. İkinci olarak da; Beta, RC, RTM adımlarına bir yenisi daha eklenerek Developer Preview (bir başka bakış açısıyla da CTP) ile yazılım geliştiricileri yeni Windows sürümü ile daha erken tanıştırdı. Bu değişikliğin en önemli sebebi ise yeni sürümle birlikte neredeyse tamamen değişen Windows’un piyasaya çıktığında daha fazla yazılımcı desteğine ve uygulamaya sahip olması.

   Konuya biz yazılım geliştiriciler açısından bakıldığında da yeni Windows’a daha erken adapte olabilmek beraberinde pek çok fırsatı da sunmakta; fakat DP sürümleri doğaları gereği beta kalitesinin de altında ve hata daha açık sürümlerdir. Bu yan etkiden kurtulmanın en iyi yolu Windows 8 Developer Preview’ün geliştirme ortamından ayrı bir makine üzerine kurulması olsa da maliyeti nedeniyle maalesef ki bu her zaman pek mümkün olmamakta. Dolayısıyla da geriye geliştirme makinesi üzerine kurulum seçeneği kalıyor.

   Bu noktada ise karşımıza iki yöntem geliyor; Hyper-V üzerine kurulu ve gerçek sistem üzerine kurulum. Hyper-V üzerine kurulum daha cazip gelse de gerek gerçek donanımın soyutlanıyor olması, gerekse de USB v.b. donanım desteğinden mahrum kalıyor olmamız nedeniyle bizlere tam bir test imkanı sunamayacaktır. Tüm alternatifler ardında elimizde sadece gerçek ortama kurulum seçeneği kalmakta.

   İşte tam da bu noktada, ben de aynı sonuca ulaşmışken, aklıma şu fikir geldi : Neden gerçek hard disk’e kurmak yerine sanal bir hard disk’e kurulum yapmayayım ki! Özellikle de açılış ön yükleyicimin bunu desteklediğini biliyorsam.  Bu sayede tüm donanıma erişip gerçek bir test yapabiliyorken, Windows 8 kurulumu için ne ayrı bir disk bölümü ayırırım ne de problem çıktığında eski sistemi geri yüklemekle uğraşırım… En kötü ihtimalle açılış ön yükleyicisini eski haline geri getirir ve sanal hard disk dosyasını silerim…

   Windows 8’i VHD dosyası üzerinden çalıştırabilmek için aşağıdaki 3 temel adımı takip etmemiz gerekli;

  • Sanal hard disk dosyasını (VHD) hazırlamak
  • Windows 8 imajını bu hard disk’e uygulamak
  • VHD’yi açılış (Native Boot) için ayarlamak

  İlk adım olan sanal hard disk’in ayarlanması için Windows 7 ya da Windows Server 2008 yüklü bir makine de sistem yöneticisi yetkisiyle komut satırını açmalıyız. Her şeyin daha toplu olması adına bir klasör oluşturum komut satırından bu klasöre gidelim;

mkdir win8
cd win8

Windows 8 VHD dosyaları için kullanılacak dizinin hazırlanması

   Açmış olduğumuz klasör içerisine giderek sanal hard disk oluşturmak için Diskpart uygulamasını başlatın ve sırasıyla aşağıdaki komutları çalıştırın;

create vdisk file="[VHD dosyasının tam adresi]" maximum=30000 type=FIXED
select vdisk file="[VHD dosyasının tam adresi]" 
attach vdisk
create partition primary
assign letter=[Sürücü Adı]
format quick fs=ntfs label="[Sürücü Başlığı]"
exit

   Bu komutlarda [VHD dosyasının tam adresi] yazılı bölüme oluşturacağınız VHD dosyasının tam adresi,  [Sürücü Adı] yazılı bölüme oluşturulan VHD dosyasının başlanacağı hard disk adını, [Sürücü Başlığı] yazılı bölüme de oluşturulan sürücüye vermek istediğiniz adı yazmalısınız.

Diskpart kullanarak VHD dosyası oluşturulması ve formatlanması

     Yukarıdaki örnekte oluşturulan sanal hard disk dosya boyutu type=FIXED parametresi yardımıyla sabit olarak 30 GB verilmiş olacaktır. Eğer isterseniz bu parametreyi type=EXPANDABLE şeklinde vererek, dosyanın gerektiğinde artarak maksimumda 30 GB olmasını sağlamanız mümkün.

    Komutların çalıştırılması sırasında işletim sistemi sizden oluşturulan hard disk’i biçimlendirmek için izin isteyecektir, bu diyalogtan iptal diyerak çıkmalı ve biçimlendirme işlemini yukarıda paylaştığım komut ile yapabilirsiniz.

İşletim sistemi diskinizi biçimlendirmek isteyecektir

   Yukarıdaki adımların takip edilmesi sonrasında Windows 8 kurulumu yapacağımız sanal hard diskimizi oluşturmuş olacağız. Teyit etmek için Windows explorer ile bilgisayarınızdaki hard disklere bakarak artık bir z diskinizin olduğunu görebilirsiniz. Sırada Windows 8 imajını sanal hard disk’e uygulamakta. Bu işlem için öncelikle InstallWindowsImage adındaki powershell script dosyasını indirmemiz gerekli. İndirdiğimiz bu script dosyasını az önceki işlemleri yaptığımız dizine kopyalamamız ardından geri kalan adımları tamamlamak için powershell oturumuna geçiş yapmalıyız. Paralelde de imajını alabilmekte için Windows 8 iso dosyasını sisteme bağlayalım. Bu işlem için ben Slysoft tarafından ücretsiz olarak sunulan Virtual CloneDrive uygulamasını kullandım; fakat siz isterseniz farklı bir uygulama da kullanabilirsiniz.

   Windows 8 iso dosyasını sisteme bağladıktan ve InstallWindowsImage scriptini kopyaladıktan sonra powershell oturumunda aşağıdaki komut yardımıyla Windows 8 iso’muzda bulunan ve kurulabilecek olan imajları listeleyebiliriz;

.\Install-WindowsImage.ps1 –WIM [sürücü adı]:\sources\install.wim

   Bu noktada, daha önceden powershell ile indirilmiş bir script dosyasını işletmediyseniz “File C:\win8\Install-WindowsImage.ps1 cannot be loaded because the execution of  scripts is disabled on this system.” şeklinde bir hata mesajı ile karşılaşacaksınızdır;

İmzalanmamış scriptlerin çalıştırılması için izin verilmemesi durumunda hata alınacaktır

 

   Bu hatayı almanız durumunda öncelikle indirilen/imzalanmamış scriptlerin de powershell tarafından çalıştırılmasına izin vermeniz gerekli. Bu izni, set-ExecutionPolicy komutu ve Unrestricted ya da RemoteSigned parametresi ile verebilirsiniz;

set-ExecutionPolicy RemoteSigned

   Bu ufak ayar ardından, scriptimizi çalıştırdığımızda Windows 8 iso dosyası içerisinde bulunan ve sanal hard diskimize uygulayabileceğimiz imajlar listelenecektir. Aşağıda Windows 8 Developer Preview iso dosyası için çıkan seçeneği bulabilirsiniz. Windows Server 8 Developer Preview iso dosyasında daha fazla seçenek sunulmaktadır.

Install-WindowsImage scripti yardımıyla Windows 8 iso dosyası içerisindeki imajlar listelenebilir

   Listelenen imajlardan hangisini kuracağımıza karar verdikte sonra (Windows 8 Developer Preview için bu kararı vermek pek te zor olmasa gerek), aşağıdaki komut yardımıyla imajı sistemimize bağladığımız sanal hard diskimize atabiliriz;

.\Install-WindowsImage.ps1 –WIM [sürücü]:\sources\install.wim –Apply –Index [imaj indeksi] –Destination [vhd sürücüsü]:

   Bu komutta [sürücü] yazılı yere Windows 8 iso dosyasını bağladığınız sürücü adını, [imaj indeksi] yazılı yere seçtiğiniz imajın ekranda görülen indeks numarasını, [vhd sürücüsü] yazılı yere ise sanal har diskinizi başladığınız sürücü adını yazmalısınız. Norton 360 gibi bazı antivirüs yazılımları bu işlem sırasında kopyalanan dosyaları virüs/trojen olarak algılayabilmekte, bu sebeple işleme başlamadan önce antivirüs yazılımınızı geçici olarak kapatmanızı tavsiye ederim. Komutu çalıştırdığınızda size işlemin 15 dakikayı bulan bir sürede tamamlanacağına dair bir uyarı mesaj gösterilecektir. Bilgsayarınızın donanımına göre bu süre değişkenlik gösterecektir.

Install-WindowsImage scripti yardımıyla Windows 8 iso dosyası içerisindeki sistem imajı sanal hard disk'e atılabilir

   Artık VHD dosyamız hazır ve içerisine Windows 8 imajı atılmış durumda. Son aşamada, açılış listemizi düzenleyerek hazırladığımız Windows 8 sanal diskinde de açılış yapabilir duruma getirmeliyiz.

   Açılış menüsü üzerinde işlem yapmanın her zaman için riskli olduğunu düşünürsek, bir yedek almak faydalı olacaktır. Bu yedek, daha sonradan sanal hard disk ile Windows 8 testinden vazgeçtiğimizde sistemi eski haline kolayca döndürmek için de kullanılabileceğinden güvenli bir yerde saklamanızı öneririm. Yedekleme için msdos prompt’unda aşağıdaki komutun çalıştırılması yeterli olacaktır. Bu komut, çalıştırıldığı dizinde acilisYedek adıyla bir dosya oluşturarak yedekleri bu dosya içerisine yazacaktır.

bcdedit /export acilisYedek

   Yedekleme ardından, aşağıdaki komut ile mevcut açılış dosyalarını sanal hard diskimize taşıyarak açılış işleminin Windows 8 üzerinden yapılmasını sağlayabiliriz;

bcdboot [VHD sürücü adı]:\windows

bcdboot yardımıyla açılış işlemlerini VHD dosyamıza yönlendirebiliriz

   Bu işlemler ardından sistemimiz kullanıma hazır olacaktır. Eğer oluşturduğunuz Windows 8 kurulumunun Hyper-V desteğinin de olması istiyorsanız aşağıdaki komutla hypervisorlaunchtype değerini otomatik yapalısınız;

bcdedit /set [Windows 8 girdisi GUID değeri] hypervisorlaunchtype auto

   Bu komutta [Windows 8 girdisi GUID değeri] yerine sistem tarafında Windows 8 açılış girdisine atanmış olan guid değeri verilmeli. Bu değerin ne olduğu ise aşağıda komut yardımıyla görülebilir;

bcdedit /v

Yeni eklenen Windows 8 girdisine ait GUID değeri bcdedit -v komutu yardımıyla bulunabilirSanal disk üzerindeki Windows 8 kurulumuna Hyper-V desteğinin eklenmesi

   Bu adımlar ardından sisteminizi yeniden başlattığınızda açılış menüsünden Windows 8’i seçerek yeni işletim sistemini test etmeye başlayabilirsiniz. Bu noktada şunun altını çizerek belirtmeliyim, açılış dosyalarımız artık sanal hard disk dosyamızda, dolayısıyla da bu haliyle eski işletim sistemimize geri dönüp sanal hard diski silmemiz bilgisayarın açılışıyla ilgili sorun yaşamamıza neden olacaktır.

   Windows 8 ile ilgili bir problem yaşamanız durumunda aşağıdaki komutu kullanarak yazımın başlarında aldığımız açılış yedeğini geri yükleyebilirsiniz;

bcdedit /import acilisYedek

   Bu işlem sonrasında oluşturduğumuz vhd dosyasına bir bağımlılığımız kalmayacağı için gönül rahatlığıyla silebilirsiniz.

   Paylaştığım yöntem ile sanal hard disk üzerinden Windows 8 kurulumu konusunda belirtmem gereken önemli bir not; bu işlemler sonrasında açılış ile ilgili dosyalarımız Windows 8 sanal hard disk’i üzerine taşınmıştır. Bu durumda da açılış dosyaları mevcut haline geri taşınmadan önce sanal hard disk silinecek ya da farklı bir yere taşınacak olursa bilgisayarınızın açılışıyla ilgili sorun yaşayacaksınız. Bu durumdan kaçınmak için tüm nu işlemler sonrasında aşağıdaki komut yardımıyla açılış dosyalarınızı eski yerine geri taşıyabilirsiniz;

bcdboot [eski sürücü adı]:\windows

   Tüm bu adımları tamamladıktan sonra, artık uzun yoldan ve detaylı olarak Windows 8 testleri için nasıl sanal bir hard disk oluşturup çalıştırabileceğinizi öğrendiğinizi umuyorum. Şimdi, tüm bu işlemleri otomatize ederek nasıl yapabileceğinizi göstermek adına aşağıda hazırlamış olduğum script’i sizlerle paylaşıyorum;

###########################################################
#                Install Windows 8 VHD
###########################################################
# Yazar   : Fatih Boy
#
# Website : http://fatihboy.com
# Blog    : http://enterprisecoding.com
#
# Lisans  : GNU GPL
###########################################################
# VHD dosyası içerisine Windows imajının yazılabilmesi
# için InstallWindowsImage script'ini indirilerek bu
# script ile aynı klasöre konulması gerekmektedir.
# InstallWindowsImage scripti aşağıdaki adresten
# indirilebilir;
#
# http://archive.msdn.microsoft.com/InstallWindowsImage
###########################################################
#  Script'in imzalanmamış olması nedeniyle, çalışması için
# öncelikle aşağıdaki powershell komutu çalıştırılmalıdır;
#
#    set-ExecutionPolicy RemoteSigned
###########################################################

$kullanici = [Security.Principal.WindowsIdentity]::GetCurrent()

if((New-Object Security.Principal.WindowsPrincipal $kullanici).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)){
    # Kullanıcı powershell oturumunu sistem yöneticisi olarak başlatmış, işleme devam


    ###### Parametre girişi #########
    $vhdDosyasi = Read-Host "Oluşturulacak VHD dosya adresini giriniz"
    $maksimumBoyut = Read-Host "Maksimum sanal hard disk boyutu"
    ###################################



    ###### Parametre kontrolü #########
    if (test-path $vhdDosyasi) {
        Write-Warning "'$vhdDosyasi' adıyla bir dosya bulunmakta. Lütfen başka bir dosya adı seçiniz"
        Exit
    }

    if (((Get-ItemProperty -Path $vhdDosyasi).attributes -band [io.fileattributes]::Compressed) -eq [io.fileattributes]::Compressed) {
        Write-Warning "Oluşturulan '$vhdDosyasi' VHD dosyası işletim sistemince sıkıştırılmakta. Lütfen farklı bir dosya belirleyiniz"
        Exit
}

    $vhdSurucu = [System.IO.Path]::GetPathRoot($vhdDosyasi).Trim("\")     
    $vhdSurucuBilgisi = get-wmiobject -namespace root\CIMv2\Security\MicrosoftVolumeEncryption -class Win32_EncryptableVolume | Where-Object { $_.DriveLetter -eq $vhdSurucu}     
    if ($vhdSurucuBilgisi.ProtectionStatus -ne 0) {        
        Write-Warning "Sistemin sanal hard disk'ten açılabilmesi için lütfen VHD dosyasını saklamak için BitLocker ile şifrelenmemiş bir sürücü kullanın"        
        Exit
    }
    ###################################

    ###### Sabitler #########
    $surucuBasligi = "Windows 8"
    $acilisGirdisi = "Windows 8"
    $surucuAdi = @(90..68 | ForEach-Object { "$([char]$_):" } |  Where-Object { (new-object System.IO.DriveInfo $_).DriveType -eq 'noRootdirectory' })[0]
    #########################


    ###### install.wim dosyasını bul #########
    $wimDosyalari = @([System.IO.DriveInfo]::getdrives() | ForEach-Object { "$($_.Name)sources\install.wim" } | Where-Object { Test-Path $_ })
    
    if ($wimDosyalari.Length -eq 0){
        Write-Host "Kurulum için uygun imaj bulunamadı"
        
        $wimDosyasi = Read-Host "Kullanılacak olan wim dosyan adresini giriniz"
    }
    elseif  ($wimDosyalari.Length -gt 1) {
        Write-Host "Birden fazla kurulum için uygun imaj bulundu :"
        $wimDosyalari | ForEach-Object { Write-Host " * $($_)" }
        
        $wimDosyasi = Read-Host "Kullanılacak olan wim dosyanı giriniz"
    }
    else{
        $wimDosyasi = $wimDosyalari[0]
    }

    if (!(test-path $wimDosyasi)) {
        Write-Warning "'$wimDosyasi' adıyla bir dosya bulunamadı."
        Exit
    }
    #########################################
    
    
    ###### Kurulum imajı seçimi #########
    .\Install-WindowsImage.ps1 –WIM $wimDosyasi
    $imajIndex = Read-Host "Kurulmasını istediğiniz imajı seçiniz"
    #####################################


    ###### VHD dosyası oluşturma #########
    $vhdOlusturma= @"
    create vdisk file="$vhdDosyasi" maximum=$maksimumBoyut type=expandable
    select vdisk file="$vhdDosyasi"
    attach vdisk
    create partition primary
    assign letter=$($surucuAdi.Trim(':'))
    format quick fs=ntfs label="$surucuBasligi"
"@

    $vhdOlusturma|
    DiskPart |
    Where-Object { $_.Length -gt 0 } |
    Foreach-Object { Write-Progress -Activity "VHD dosyası oluşturuluyor" -Status $_ -Id 1}
    
    Write-Host "Lütfen açılan format dialogunu iptal ediniz..."
    ########################################

    ###### Windows 8 imajının VHD'ye atılması #########
    .\Install-WindowsImage.ps1 –WIM $wimDosyasi –Apply –Index $imajIndex –Destination $surucuAdi |
    Where-Object { $_.Length -gt 0 } |
    Foreach-Object { Write-Progress -Activity "Windows 8 imajı vhd dosyasına yükleniyor" -Status $_ -Id 1}

    if (!$?){
      Write-Error "Windows 8 imajı vhd dosyasına yüklenemedi"
      Exit
    }
    ###################################################


    ###### Açılış girdilerini ekle ######
    Write-Progress -Activity "Sistem açılışı ayarlanıyor" -Status "Girdi oluşturuluyor" -Id 1

    $yedekDosyaAdi = "bcdYedek-$(Get-Date -format yyyyMMddHHmm)"
    . "$env:SystemRoot\system32\bcdedit.exe" /export $yedekDosyaAdi
    . "$env:SystemRoot\system32\bcdedit.exe" /copy "{current}" /d "$acilisGirdisi"
   
    $BCDInfo = . "$env:SystemRoot\system32\bcdedit.exe" /v
    $IDIndex = - 1
    for ($i=1; $i -lt $BCDInfo.Count; $i++) {
         if( $BCDInfo[$i] -match $acilisGirdisi) {
              $IDIndex = $i - 3
              break
         }
    }


    if ($IDIndex -lt 0) {
        Throw "Açılış girdisi oluşturulamadı"
    }

    $Win8GUID = $BCDInfo[$IDIndex].Split(" ")[-1]
    $dosyaParametresi = "[$($vhdDosyasi.Replace(':', ':]'))"
  
    . "$env:SystemRoot\system32\bcdedit.exe" /set "$Win8GUID" device vhd="$dosyaParametresi"
    . "$env:SystemRoot\system32\bcdedit.exe" /set "$Win8GUID" osdevice vhd="$dosyaParametresi"
    . "$env:SystemRoot\system32\bcdedit.exe" /set "$Win8GUID" detecthal on
    #############################################


    ###### Hyper-v desteği eklenmesi ######
    $hypervisorEvet = New-Object System.Management.Automation.Host.ChoiceDescription "&Evet", `
        "hypervisor girdisi eklenir."

    $hypervisorHayir = New-Object System.Management.Automation.Host.ChoiceDescription "&Hayır", `
        "hypervisor girdisi eklenmez."

    $hypervisorSecenekler = [System.Management.Automation.Host.ChoiceDescription[]]($hypervisorEvet, $hypervisorHayir)

    $hypervisorYanit = $host.ui.PromptForChoice("Hyper-v", "Hyper-V desteği ister misiniz?", $hypervisorSecenekler, 0)

    if($hypervisorYanit -eq 0){
        . "$env:SystemRoot\system32\bcdedit.exe" /set "$Win8GUID" hypervisorlaunchtype auto
    }
    #############################################
    
    ###### Varsayılan açılış ayarı ######
    $varsayilanEvet = New-Object System.Management.Automation.Host.ChoiceDescription "&Evet", `
        "Windows 8 kurulumu açılış için varsayılan olarak ayarlanır."

    $varsayilanHayir = New-Object System.Management.Automation.Host.ChoiceDescription "&Hayır", `
        "Windows 8 kurulumu açılış için varsayılan olarak ayarlanmaz."

    $varsayilanSecenekler = [System.Management.Automation.Host.ChoiceDescription[]]($varsayilanEvet, $varsayilanHayir)

    $varsayilanYanit = $host.ui.PromptForChoice("Varsayılan Açılış", "Windows 8'in açılışta varsayılan işletim sistemi olmasını ister misiniz?", $varsayilanSecenekler, 1)

    if($varsayilanYanit -eq 0){
        . "$env:SystemRoot\system32\bcdedit.exe" /default "$Win8GUID"
    }
    #############################################
  
  
  
    ###### VHD dosyasını sistemden ayır #########
    $detachScript= @"
    select vdisk file="$vhdDosyasi"
    detach vdisk
"@

    $detachScript|
    DiskPart |
    Where-Object { $_.Length -gt 0 } |
    Foreach-Object { Write-Progress -Activity "VHD dosyası sistemden ayrılıyor" -Status $_ -Id 1}
    #############################################


    ###### Bilgisayarın baştan başlatılması ######
    $restartEvet = New-Object System.Management.Automation.Host.ChoiceDescription "&Evet", `
        "Bilgisayarınız baştan başlatılır."

    $restartHayir = New-Object System.Management.Automation.Host.ChoiceDescription "&Hayır", `
        "Bilgisayarınız baştan başlatılmaz."

    $restartSecenekler = [System.Management.Automation.Host.ChoiceDescription[]]($restartEvet, $restartHayir)

    $restartYanit = $host.ui.PromptForChoice("Yeniden Başlatma", "Bilgisayarınızı yeniden başlatmak ister misiniz?", $restartSecenekler, 0)

    if($restartYanit -eq 0){
         for($i=10;$i -gt 0;$i--) {
              Write-Progress -Activity "Bilgisayarınız yeniden başlatılacak" -Status "$i saniye" -Id 1
            Sleep 1
         }
           
        Restart-Computer -Force
    }
    #############################################
}else{
  # Kullanıcı powershell oturumunu sistem yöneticisi olarak başlatmamış, bilgilendirme...
  Write-Warning "Lütfen bu betiği sistem yöneticisi olarak çalıştırınız."
}

   Makalemin başında hazırlamış olduğum dizine giderek bu scripti Install-Windows8VHD.ps1 adıyla sakladıktan sonra sistem yönetici yetkisi ile başlattığınız powershell oturumunda .\Install-Windows8VHD.ps1 komutu ile başlatarak aşağıda görebileceğiniz gibi Windows 8 geliştirme ortamınızı kolaylıkla hazırlayabilirsiniz.

Windows 8 kolay kurulumu için hazırladığım scriptin çalıştırılması

Info

   Güncelleme, 21 Eylül 2011 : Aldığım güzel bir geri bildirimi sizlerle de paylaşıyorum; Windows 7 açılış önyükleyicisi ile VHD dosyasıyla doğal açılış (Native Boot) yaparken dikkat edilmesi gereken bazı kısıtlamalar söz konusu. http://technet.microsoft.com/en-us/library/dd440865(WS.10).aspx#two adresinde detaylarını bulabileceğiniz bu kısıtlamalardan en önemlisi ise; NTFS sıkıştırılması uygulanmış olan ya da BitLocker ile şifrelenmiş bir disk bölümünde bulunan VHD dosyalarının native boot işleminde kullanılamıyor olmasıdır. Bu bilgiler ışığında yukarıda sizlerle paylaşmış olduğum script’ime, problem yaşamamanız adına, gerekli ek kontrolleri de ekledim.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

4 yorum

  1. oguzhan   •  

    Merhaba,
    PS i çalıştırırken “set-ExecutionPolicy RemoteSigned” ile yetki verdim fakat MS den indirdiğim “Install-WindowsImage.ps1” dosyası hala çalışmıyor imzalı olmadığından?

    • Fatih Boy   •     Yazar

      Merhaba Oğuzhan,
      “set-ExecutionPolicy Unrestricted” şeklinde denersen problem çözülecektir.

  2. oguzhan   •  

    çok teşekkürler 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir