.

Can's Windows Server Blog

IPv6 Global Unicast Adres Yapısı

bir IpV6 adresi

2001:908:413: 15a0: eda4:74ff:fe4d:b972

burada ilk 3 16bitlik bölüm : 2001:908:413: –> 48 bit Global Routing Prefix

sonra ki 16 bitlik bölüm : 15a0 –> Subnet ID

ve son 64 bitlik bölüm : eda4:74ff:fe4d:b972 –> Interface Identifier. Yada Host kısmı.

Global Unicast Adres in ilk 64 biti default gateway den gelir. Diğer kısmını ise bizim cihazımız üretir.

İlk 64 bit hiyerarşik bir şekilde üretilir.

IANA ilk 16 biti 2001/16 routing prefix olarak tüm sistemlere Unicast global adres olarak atamıştır. Yeni bir rakam belki 9 milyon yıl sonra gelecektir.

sonraki seviye ise bölgesel ISP dir. Türk Telekom, Süperonline vs.. bunlarda 16 bitlik kısmı atarlar yani adres 2001:1234/32 olur.

Sonra ki ise yine bir alt ISP ye gider (Türkiye de durum nasıl bilmiyorum) ancak burada da bir 16 bitlik kısım eklenir ve adres 2001:1234:5678/48 olur.

Artık firma (yada ev) in gateway ine gelir. burada da bir 16 bit eklenir ve adres 2001:1234:5678:abcd/64 olur.

Artık bu gateway in arkasında ki her sistemin ilk 64 biti bu şekilde olacaktır.

Diğer 64 bit ise EUI-64 methodu ,le oluşturulmaktadır. detayını daa önce açıklamıştım buradan bulabilirsiniz.

https://can.buyukburc.de/2019/01/24/ipv6-link-local-adres-nasil-olusturulur/
]]>

Ipv6 Link Local Adres nasıl oluşturulur?

Link Local adres sistemin kendi kendine oluşturduğu bir adrestir. Bu adres sistem boot olurken oluşturulur. Sadece local networkte geçerlidir ve routerlar bu paketleri yönlendirmezler.

Ipv4 teki karşılığı 169.254.0.0./16 dır. Veya APIPA olarak bilinir.

  • prefix olarak FE80::/64 tür.
  • Her IPv6 kabiliyetli arayüzde link-local-unicast adres olmak zorundadır
  • Neighbor Discovery protocol NDP tarafından komşu arayüzlerin keşfinde kullanılmaktadır.

Yapısı

Interface ID ise 48 bitlik MAC adresinin 64 bite EUI-64 (Extended Unique Identifier) tekniği ile çoğaltılması ile oluşur.

Örneğin MAC adresimiz 00 12 7F EB 6B 40. bir MAC adresi 2 bölümden oluşur. OUI ve NIC-Specific. OUI : Organizationally Unique Identifier yani arayüzü üreten firmanın kodu. Ve NIC-Specific kısmı yani üretim seri numarası gibi birşey.

Bunu OUI den sonra bölüp araya FF FE ekliyoruz.



Daha sonra ilk 8 bit içinde ki (ilk 00) 7 nci bir ters çeviriliyor (0–>1 oluyor) .

Bunu sebebi RFC2373 te bölüm 2.5.1 de açıklanmıştır. Tam anlamasamda henüz şöyle birşeyler diyor.


The motivation for inverting the “u” bit when forming the interface identifier is to make it easy for system administrators to hand configure local scope identifiers when hardware tokens are not available. This is expected to be case for serial links, tunnel end-points, etc. The alternative would have been for these to be of the form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1, ::2, etc.

Ancak bu yöntemi kullanmak zorunlu değildir. CISCO IOS, Linux ve unix ler EUI-64 yöntemini kullanırken MS Windows ikinci yarıyı random değer kullanmaktadır.

]]>

IPv6 IP tipleri

Ipv& konusu son derece derin incelenmesi gereken bir konu çeşitli ülkelerin IpV6 çalışma geliştirme komiteleri var o derece yani.

Kısaca da olsa Ip tipleri aşağıda ki gibi özetlenebilir.

Unicast addresler6 tiptir

Global Unicast : internette acik olan IP lerdir.Globallroutable Ip  
address.Her zaman 2001::/3 le baslarlar yani ilk 3 bit her zaman 001  
dir.

Nasıl oluşturulduğunu aşağıda ki yazı ile anlattım.

https://can.buyukburc.de/2019/01/24/ipv6-global-unicast-adres-yapisi/

Link-Local Unicast : nonroutable Ip lerdir. Mesela sadece Router ve PC  
arasinda veri iletisimi yapilacaksa link-local adresler kullanilir ve  
router bunlari hicbir zaman forward etmez. (ip headerinda link-local  
adres varsa)
Tekbir interface e atanirlar ve Ip grubu her zaman FE80::/10 ile  
baslar.Yani bir IP adresi FE80 ile baslarsa link local dir. IPv4 te  
karsiligi 169.254.0.0/16 grbundan IP lerdir yanibilgisayarin kendi  
kendine atadigi IPgrubundan. Nasıl oluşturulduğunu aşağıdaki yazı ile açıkladım.

https://can.buyukburc.de/2019/01/24/ipv6-link-local-adres-nasil-olusturulur/

Site Local Unicast : IPv4 teki private IP grubu ipler gibidir. FEC0: ile başlarlar ancak Unique Local Unicast adreslerle değişmişlerdir.

Unique Local Unicast : FD00::/8 veya FC00 ile baslar. IPv4 private address grubudur  
(mesela 10.0.0.0/8, 192.168..) gibi internette routing yapmakta  
kullanilamazlar. Sadece gateway içi iletişimde kullanılırlar. NAT arkası private IP ler gibi.

Loopback : ise daha çok 127.0.0.1 in karşılığıdır. Ipv6 Loopback unicast denemektedir.

Unspecified : ::/128 ise ipv4 teki 0.0.0.0 IPsinin karşılığıdır. DHCP arayan arayüzler bu IPye istek gönderirler. BU hiçbir zaman bir arayüze IP olarak verilemez.

IPv4 Compatible IP : ::123.456.789.123 şeklinde dir ama daha detaylı araştırmalıyım.

Multicast adressler

ff00::/8 grubundandir . Bir grup interface i kastederler. bir kac  
makinayamesaj gondermek icin kullanilirlar.
ff02::1 IPv4 broadcast gibidir. bir agdaki tüm interfacelere mesaj  
atmak icin kullanilirlar.
ff02::2 ise sadece agdaki tüm router lari tanimlar. Tüm routerlara  
ulasmakicin bu kullanilir.

Anycast adresler

Tek adres cok cihaz. Ancak buIpye gönderilen mesajlar o gruptaki   
sadece tek bir cihaza erisir. (multicastten farkli). Routing en yakin  
olana gönderilir. Böylece en efektif sekilde routing yapilir.

IPv6 konusunda aslında subnetting masking auto IPv6 nasıl olur gibi konularıda zamanı gelince incelemek istiyorum ancak o zaman ne zaman kim bilir.

]]>

Windows Powershell Disk Management

Bu çalışmayı Virtualbox üzerinde eklediğim 6 adet sanal disk ile yapıyorum. Öncelikle disklerimizi görelim.


PS C:\Users\Administrator> Get-PhysicalDisk
FriendlyName  SerialNumber        CanPool OperationalStatus HealthStatus Usage        Size
------------  ------------        ------- ----------------- ------------ -----        ----
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK                     True    OK                Healthy      Auto-Select  5 GB
VBOX HARDDISK VB8575610c-01e2797e False   OK                Healthy      Auto-Select 50 GB

Ancak son disk işletim sisteminin olduğu disk ve ilk çalışma için bana 4 adet disk yeterli.

PS C:\Users\Administrator> Get-PhysicalDisk |? CanPool|? HealthStatus| select -first 4
FriendlyName  SerialNumber CanPool OperationalStatus HealthStatus Usage       Size
------------  ------------ ------- ----------------- ------------ -----       ----
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB

Ayrıca sadece belirli diskleri seçmek istersek

PS C:\Users\Administrator> Get-PhysicalDisk|? Canpool|ft UniqueId
UniqueId
--------
{78f3d471-15cb-11e9-9df3-806e6f6e6963}
{78f3d472-15cb-11e9-9df3-806e6f6e6963}
{78f3d473-15cb-11e9-9df3-806e6f6e6963}
{78f3d474-15cb-11e9-9df3-806e6f6e6963}
{78f3d475-15cb-11e9-9df3-806e6f6e6963}
{78f3d476-15cb-11e9-9df3-806e6f6e6963}
PS C:\Users\Administrator> Get-PhysicalDisk|? Canpool|? {"{78f3d471-15cb-11e9-9df3-806e6f6e6963};{78f3d472-15cb-11e9-9df
3-806e6f6e6963}".Contains($_.UniqueId)}
FriendlyName  SerialNumber CanPool OperationalStatus HealthStatus Usage       Size
------------  ------------ ------- ----------------- ------------ -----       ----
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB
VBOX HARDDISK              True    OK                Healthy      Auto-Select 5 GB

Artık disklerimizi seçip kuruluma geçebiliriz.


PS C:\Users\Administrator> New-StoragePool -FriendlyName "CanPooledDisks" -StorageSubSystemFriendlyName "Windows*" -Phys
icalDisks $Stordisks |New-VirtualDisk -FriendlyName "CanPooledDisks" -Size 20GB -ProvisioningType Thin|Initialize-Disk -
PassThru |New-Partition -AssignDriveLetter -UseMaximumSize|Format-Volume
DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining     Size
----------- --------------- ---------- --------- ------------ ----------------- -------------     ----
F                           NTFS       Fixed     Healthy      OK                     19.81 GB 19.87 GB

Burada dikkat edilmesi gereken bir konu StorageSubSystemFriendlyName çünkü her ismi kabul etmiyor.

Get-StorageSubSystem|fl komutu ile FriendlyName i öğrenebiliriz. böylece CanPooledDisks adında disk poolu oluşturmuşl ve onu otomatik olarak sisteme bağlayıp format atmış olduk. Ancak burada her hangi bir RAID vs yok.

Server Manager Görüntüsü bu şekilde olacaktır. Pool a eklenmeyen 2 adet disk Primordial olarak görünüyor. Raw Diskler ve işlem yapımamış Sisteme fiziksel olarak bağlanmış bekliyorlar.

]]>

Windows Disk Terminology

Simple – Tek disk

Spanned – Art arda eklenmiş diskler alan ihtiyacı olduğunda disk eklenerek genişletilebiliyor ancak bir disk arızasında herşey gidiyor.

Stripe – Default 64kB chunkların çeşitli disklere yazılması write ve read performansı iyi ancak disk arızasında herşey giditor. (Raid-0)

Mirror – RAID-1

RAID-5 – parity mevcut ve striping ile yapılıyor.
Parity dağınık yani ayrı bir diske yazılmıyor. Mevcut diskler kullanılıyor.

RAID-6 – Çift Parity. Parity dağınık yani ayrı bir diske yazılmıyor. Mevcut diskler kullanılıyor.

RAID-10 – Veri önce mirrorlanıyor ve sonra her bir mirror grubu içinde stripelanıyor.

RAID – 50 -önce mirror ve her bir mirror grubu içinde parity ile striping.

]]>

Windows Powershell Add Roles and Features

Sistemi yeni kurdum ve serverımda ihtiyacım olan yapılar.

DNS, Web-server, AD DS ve Hyper-V işte bunların kurulumları için gerekli olan komutlar.

Install-WindowsFeature -Name AD-Domain-Services,Hyper-V,DNS,Web-Server -IncludeManagementTools -IncludeAllSubFeatures -Restart  

Tek tek de verebilirim ancak restart komutu her seferinde gerekliyse restart ettiğinden çok uzun sürer.

]]>

Windows PowerShell Profile Prompt History

Powershell de de aynı linux gibi prompt vs kabiliyetler mevcut. Örneğin Administrator user ının powershell profile dosyası

C:\Users\Administrator\Documents\WindowsPowerShell> Microsoft.PowerShell_profile.ps1

ile editleniyor. Özellikle Prompt ta hostname yazmasını istiyordum. Ayrıca Normalde powershell history i session içinde tutuyor yani pencere kapanınca history de gidiyordu. Bunu da engellemek istiyordum

İnternetten şu kodu indirdim ve editledim. History yi bir csv ye export edip import ederek bir problemi funtion prompt ile de diğerini çözüyor. Harika değil üzerinde çok uğraşmadım henüz ancak iş görüyor.

#region History
$PSProfileFolder = Split-Path -Path $PROFILE
$PSHistoryPath = "$PSProfileFolder\History.csv"
$PSMaximumHistoryCount = 4096
if (!(Test-Path $PSProfileFolder -PathType Container)) {
        New-Item $PSProfileFolder -ItemType Directory -Force
}
if (Test-path $PSHistoryPath) {
        Import-CSV $PSHistoryPath | Add-History
}
Register-EngineEvent PowerShell.Exiting -Action {
        Get-History -Count $PSMaximumHistoryCount | Export-CSV $PSHistoryPath
    [enviroment]::Exit(0)
} | out-null
#endregion History
$Hostname=hostname
function prompt { 'PS ' + $Hostname+'@'+$pwd + '> ' }

Ayrıca şu linki buldum beğendim üzerinde çalışıp burayı update etmem gerekecek.

https://www.howtogeek.com/298244/how-to-use-your-command-history-in-windows-powershell/

]]>

Windows Server 2016 install/enable SSH

Windows 10 ve Windows Server 2012 de olmasına rağmen bir feature olarak ssh Windows Server 2016 da mevcut değil. Ancak Server 2019 da tekrar gelmiş. Ancak problem çözülebiliyor 🙂

Öncelikle aşağıda ki linkten SSH klasörünü indiriyoruz. Zip dosyasını açıp içinde ki OpenSSH-Win64 klasörünü “C:\Program Files\” içine koyuyoruz.

https://github.com/PowerShell/Win32-OpenSSH/releases
PS C:\> cd '.\Program Files\OpenSSH-Win64\'
PS C:\Program Files\OpenSSH-Win64> Get-ChildItem
    Directory: C:\Program Files\OpenSSH-Win64
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/27/2018  10:10 PM          17399 FixHostFilePermissions.ps1
-a----       12/27/2018  10:10 PM          15712 FixUserFilePermissions.ps1
-a----       12/27/2018  10:10 PM          15505 install-sshd.ps1
-a----       12/27/2018  10:10 PM        1624200 libcrypto.dll
-a----       12/27/2018  10:10 PM           6326 openssh-events.man
-a----       12/27/2018  10:10 PM          14147 OpenSSHUtils.psd1
-a----       12/27/2018  10:10 PM          42695 OpenSSHUtils.psm1
-a----       12/27/2018  10:10 PM         328328 scp.exe
-a----       12/27/2018  10:10 PM         345080 sftp-server.exe
-a----       12/27/2018  10:10 PM         398984 sftp.exe
-a----       12/27/2018  10:10 PM         501784 ssh-add.exe
-a----       12/27/2018  10:10 PM         397848 ssh-agent.exe
-a----       12/27/2018  10:10 PM         647192 ssh-keygen.exe
-a----       12/27/2018  10:10 PM         544280 ssh-keyscan.exe
-a----       12/27/2018  10:10 PM         162432 ssh-shellhost.exe
-a----       12/27/2018  10:10 PM         883736 ssh.exe
-a----       12/27/2018  10:10 PM         976408 sshd.exe
-a----       12/27/2018  10:10 PM           2143 sshd_config_default
-a----       12/27/2018  10:10 PM          15862 uninstall-sshd.ps1

Sonra içinde mevcut olan kurulum scriptini çalıştırıyoruz.

PS C:\Program Files\OpenSSH-Win64> .\install-sshd.ps1
Do you want to run software from this untrusted publisher?
File C:\Program Files\OpenSSH-Win64\install-sshd.ps1 is published by CN=Microsoft Corporation, O=Microsoft Corporation,
 L=Redmond, S=Washington, C=US and is not trusted on your system. Only run scripts from trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help (default is "D"): R
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

Böylece SSH bir service olarak kurulmuş oluyor. Şimdi agent ve server i etkinleştirip otomatik açılıma ekleyelim.

PS C:\Program Files\OpenSSH-Win64> Set-Service sshd -StartupType Automatic
PS C:\Program Files\OpenSSH-Win64>  Set-Service ssh-agent -StartupType Automatic
PS C:\Program Files\OpenSSH-Win64> Get-Service ssh-agent
Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent
PS C:\Program Files\OpenSSH-Win64> Start-Service sshd
WARNING: Waiting for service 'OpenSSH SSH Server (sshd)' to start...
WARNING: Waiting for service 'OpenSSH SSH Server (sshd)' to start...
PS C:\Program Files\OpenSSH-Win64> Start-Service ssh-agent
PS C:\Program Files\OpenSSH-Win64> Get-Service ssh-agent
Status   Name               DisplayName
------   ----               -----------
Running  ssh-agent          OpenSSH Authentication Agent

Sonra public ve private keylerimizi oluşturuyoruz.

PS C:\Program Files\OpenSSH-Win64> .\ssh-keygen.exe
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa):
Created directory 'C:\Users\Administrator/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa.
Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:e7qlx+4NUhr5mfBB51Ctnd4+pLwwGC53V5ADbZNcYwk administrator@WIN-SSFJIO1GBCN
The key's randomart image is:
+---[RSA 2048]----+
|           .+E++.|
|           ..*+..|
|          o o*.. |
|         o +. =  |
|        S.o .. o |
|        .Oo+  o..|
|       .+=O+..o. |
|        o*+o+o ..|
|        +=o ... .|
+----[SHA256]-----+

Ve en sonda da firewall kurallarımızı ekliyoruz.

PS C:\Program Files\OpenSSH-Win64> New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
Name                  : {44d07978-5ce4-4e10-bfc1-e12d7e546036}
DisplayName           : SSH
Description           :
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local
]]>

Bootable Windows Server 2016 USB si oluşturmak.

Elimde ki ikinci laptopa windows server 2016 kurmak istedim ancak image file 6 GB dı ve elimde 8 GB lık DVD hiç yoktu. Bir USB ye format atıp bootable yapmak istedim.

Önce virtual disk yazılımı kullanarak Server iso sunu mount ettim (Drive ismi i:). Daha sonra 8GB lık USB yi taktım.

Başlat–>CMD–> sağ klik administrator olarak kullan.

C:\WINDOWS\system32>diskpart
Microsoft DiskPart version 10.0.17134.1
Copyright (C) Microsoft Corporation.
On computer: MONSTER
DISKPART> list disk
  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          223 GB  1024 KB
  Disk 1    Online          931 GB      0 B
  Disk 2    Online         7596 MB      0 B
DISKPART> select disk 2
Disk 2 is now the selected disk.

Bundan sonrası çok tehlikeli hangi diski seçtiğinize çok dikkat edin. Sonra sıra ile aşağıda ki komutları girin.

clean
create partition primary
select partition 1
active
format fs=ntfs quick label=”2016TP5”
exit

Böylece formatlanmış tertemiz bir USB miz oldu.

Ve i: ya geçip aşağıda ki işlemleri yapın.

C:\WINDOWS\system32>i:
I:\>cd boot
I:\boot>bootsect.exe /nt60 h:
Target volumes will be updated with BOOTMGR compatible bootcode.
H: (\\?\Volume{ee8264c4-02a2-11e7-af86-e4a7a0362be8})
    Successfully updated NTFS filesystem bootcode.
Bootcode was successfully updated on all targeted volumes.

Artık USB mizde bootable oldu. Şimdi vereceğimiz komutta Drive harflerine dikkat edin ve uzun sürmesini bekleyin. Özellikle vim dosyası baya uzun sürüyor.

I:\boot>xcopy i:\*.* H:\ /E /H /F

Bu adımdan sonra USB yi diğer sisteme takıp boot edebilirsiniz.

]]>

Windows Nano Server Oluşturma

Bu kurulum maalesef Virtualbox içinde hyperV de ya mümkün değil yada aşırı derecede yavaş olacaktır. Bu nedenle mümkünse bağımsız ve hyperV kurulu tercihen en az bir windows10 makina gerekmektedir. Bana bu konuda destek olan ve bana bol bol zaman ayırarak windows öğreten hocam ve iş arkadaşım Olaf a burdan ayrıca teşekkür ederim.

Öncelikle indirdiğimiz Windows Server 2016 DVD(yada CD ben ISO kullandım) kök dizininde bulunan nanoServer klasörünün içinden bir klasörü kopyalayacağız bunun içinde aşağıda ki i,şlemleri yapıyoruz.

PS D:\nanoserver\NanoServerImageGenerator>mkdir c:\nano
PS D:\nanoserver\NanoServerImageGenerator>copy *.* C:\nano\
PS D:\nanoserver\NanoServerImageGenerator>Set-Location C:\nano\
PS C:\nano> Get-ChildItem
    Verzeichnis: C:\nano
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       16.07.2016     04:30         163433 Convert-WindowsImage.ps1
-a----       25.05.2016     23:42            478 NanoServerImageGenerator.psd1
-a----       14.07.2016     23:18         101216 NanoServerImageGenerator.psm1

böylece gerekli dosyaları kopyalamış olduk. Şimdi artık modulü import ederek devam edebiliriz. Eğer sistem hata verirse script çalıştırmaya izin verilmiyor diye aşağıda ki şekilde devam edin. Daha sonra “Restricted” olarak set edebilirsiniz.

PS C:\nano> Set-ExecutionPolicy unrestricted
PS C:\nano> Import-Module C:\nano\NanoServerImageGenerator.psm1

daha sonra hangi komutlar gelmiş görmek istersek

PS C:\nano> Get-Command -Module NanoServerImageGenerator
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Edit-NanoServerImage                               0.0        NanoServerImageGenerator
Function        Get-NanoServerPackage                              0.0        NanoServerImageGenerator
Function        New-NanoServerImage                                0.0        NanoServerImageGenerator

Normalde DVDnin takılı olması lazım ancak ben farklı birşey yaptım ve iso image i 7zip ile açıp bir klasöre kaydettim. sonrada aşağıda ki komutta kullandım. Ayrıca nano server da kullanacağımız paketleride ekledim. Paket listesi nerede bende bilmiyorum.

PS C:\nano> New-NanoServerImage -Edition Standard -MediaPath 'C:\Users\olaf\SCP\Windows server 2016\' -BasePath C:\nano\ -TargetPath C:\nano\nan-svr.vhdx -DeploymentType Guest -ComputerName Nano-SVR1 -Storage -Package Microsoft-Nanoserver-IIS-Package                                                                                                            

Kurulum esnasında bize şifre soracak onu unutmayın.

Oluşan dosyaları görmek istersek.

PS C:\nano> Get-ChildItem
    Verzeichnis: C:\nano
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       23.12.2018     11:18                Logs
d-----       23.12.2018     11:18                Packages
-a----       16.07.2016     04:30         163433 Convert-WindowsImage.ps1
-a----       23.12.2018     11:22      569376768 nan-svr.vhdx
-a----       16.07.2016     19:12      172757121 NanoServer.wim
-a----       25.05.2016     23:42            478 NanoServerImageGenerator.psd1
-a----       14.07.2016     23:18         101216 NanoServerImageGenerator.psm1

Daha sonra Hyper-V manager dan yeni diyerek ekliyoruz. Aşağıda ki seçenekleri yapıyoruz.

Ram : 512 Mb , generation 2, var olan bir VM kullanı seçip (Use an existing virtual har disk) oluşturduğumuz VHDX dosyasını seçiyoruz.

Bunları CLI ile yapmak istersek


PS WIN-OLAF16@C:\nano> New-VM -name nano-svr02 -MemoryStartupBytes 512MB -BootDevice vhd -VHDPath C:\nano\nano-svr2.vhdx
 -Path c:\nano -Generation 2 -SwitchName extern
Name       State CPUUsage(%) MemoryAssigned(M) Uptime   Status             Version
----       ----- ----------- ----------------- ------   ------             -------
nano-svr02 Off   0           0                 00:00:00 Operating normally 8.0
PS WIN-OLAF16@C:\nano> Get-VM
Name       State CPUUsage(%) MemoryAssigned(M) Uptime   Status             Version
----       ----- ----------- ----------------- ------   ------             -------
Nano-Svr01 Off   0           0                 00:00:00 Operating normally 8.0
nano-svr02 Off   0           0                 00:00:00 Operating normally 8.0

Böylece iki şekilde de VM leri eklemiş olduk.

VM Hyper-V administration a eklendikten sonra başlatıyoruz. Username : administrator ve password ise NanoServer harddisk image ini oluştururken verdiğimiz şifre.

Şifreyi girdikten sonra recovery consola geleceğiz. Artık ayarlarımızı yapıp nano server i kullanabiliriz.

]]>