.

Can's Windows Server Blog

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.

]]>

Windows2Windows SSH

Evet 2018 yılı itibariyle windows artık ssh ı destekliyor. Windows içinde bazı kabiliyetler (features) default olarak kurulu gelmiyorlar. Bu nedenle kurulması gerekiyor.

Administrator yetkisi ile POWERSHELL i başlatıyoruz. Bunun ssh bağlantısı kurulacak hemen her makinada yapılması uygun olacaktır.

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
Start-Service sshd
Start-Service ssh-agent
ssh-keygen

Bu komutları ardı ardına girin ve artık SSH servisiniz çalışmaya başlamıştır. Ancak ssh-keygen komutunda enter enter enter diyip hızlıca geçin böylece “c:/user/cb/.ssh ” klasörü oluşur. Daha sonra “New-Item authorized_keys” ile authorized keys dosyasını da oluşturmalıyız.

SSH ile bağlantı önce CMD’ye oluyor powershell e geçmek için powershell komutunu kullanmayı unutmayın.

İlerde istediğimiz public keyi buraya ekleyip bağlantıya şifresiz güvenli olarak izin verebiliriz.

Tabii ssh ın amacına tamamen ters olarak maaaaaaaaaalesef POWERSHELL de console test file editör yok. Yani bir Vi Nano vs yok. Hala notepad kullanmak zorundayız. Birtek Nano server da gelen PSedit var ancak onunda kurulumunu henüz bulamadım.

Kurulan SSH dosyaları ve loglar :
C:\Windows\System32\OpenSSH

Ayrıca ssh-keygen komutundan sonra oluşturulan private ve public keyleri ile daha sonra oluştracağımız authorized_keys dosyası “c:\User\Can\.ssh\” içinde

]]>

Oracle VirtualBox içinde WindowsServer 2016 üzerinde Hyper-V ile VM oluşturmak

Yani VM içinde VM oluşturmak. Zamanında biri sormuştu çok saçma gelmişti şimdi ihtiyacım oldu 🙂

neyse  tabii ki ilk başta mümkün olmadı. Çünkü sanallaştırma ile ilgili kısımlar aslında virtualbox tarafından kullanılıyordu ancak bir şekilde windows VM in buna takılmamasını sağlayan bir yol buldum. (google sağolsun) (Orjinali : https://www.baswijdenes.com/portfolio/hyper-v-in-virtualbox-guide/)

Şimdi önce . Not bir arada copy paste yapmayın. sakin ve sabırlı olun. Linux te de windows tada kıdemli adminlerin hep söylediği birşey vardır. Acele etmeyeceksin!!!

Öncelikle ilgili VM in sistem ayarlarında “VT-x/AMD-V ” in seçili olduğunu mutlaka görün.

Sonra windows VM i başlatın ve 
powershell i admisinstrator olarak açıp aşağıda ki komutları tek tek girin.
Not bir arada copy paste yapmayın. sakin ve sabırlı olun. Linux te de windows tada kıdemli adminlerin hep söylediği birşey vardır. Acele etmeyeceksin!!!

Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart
***********************************************
Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature

***********************************************
Install-WindowsFeature RSAT-Clustering -IncludeAllSubFeature

***********************************************
Install-WindowsFeature Multipath-IORestart-Computer
***********************************************
restart-computer

Sonra yeniden başlattıktan sonra Hyper-V çalışıyor. Hayırlı olsun 🙂

]]>

Virtualbox Does not match UUID

VM sistemi mi çalıştırmak istediğimde şöyle bir hata aldım.

Parent UUID {00000000-0000-0000-0000-000000000000} of the medium 'C:\Users\can\VirtualBox VMs\Winserver2016 Datacenter\Snapshots\{6b423c3e-47a0-4b0e-a054-6059bedd3aa5}.vhd' does not match UUID {8575610c-960f-4c67-9153-44677e79e201} of its parent medium stored in the media registry ('C:\Users\can\.VirtualBox\VirtualBox.xml').

Neyse sinir bozucu bu saçma sorunun giderilmesi aşağıda ki gibiymiş.

PS C:\WINDOWS\system32> cd '..\..\Program Files\Oracle\VirtualBox\'
PS C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe internalcommands dumphdinfo D:\Centos_VM\Winserver2016_Datacente
r.vhd
--- Dumping VD Disk, Images=1
Dumping VD image "D:\Centos_VM\Winserver2016_Datacenter.vhd" (Backend=VHD)
Header: Geometry PCHS=25700/16/255 LCHS=0/0/0 cbSector=512
Header: uuidCreation={8575610c-960f-4c67-9153-44677e79e201}
Header: uuidParent={00000000-0000-0000-0000-000000000000}

Burada önemli olan uuidCreation değeri.

Sonra Snapshot in değerine bakıyoruz.

PS C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe internalcommands dumphdinfo "C:\Users\can\VirtualBox VMs\Winserv
er2016 Datacenter\Snapshots\{6b423c3e-47a0-4b0e-a054-6059bedd3aa5}.vhd"
--- Dumping VD Disk, Images=1
Dumping VD image "C:\Users\can\VirtualBox VMs\Winserver2016 Datacenter\Snapshots\{6b423c3e-47a0-4b0e-a054-6059bedd3aa5}.vhd" (Backend=VHD)
Header: Geometry PCHS=25700/16/255 LCHS=0/0/0 cbSector=512
Header: uuidCreation={6b423c3e-47a0-4b0e-a054-6059bedd3aa5}
Header: uuidParent={00000000-0000-0000-0000-000000000000}

İkisini karşılaştırınca snapshot in UUidCreation  değerlerinin kaynağını göstermediğini görüyoruz.

PS C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe internalcommands sethdparentuuid "C:\Users\can\VirtualBox VMs\Wi
nserver2016 Datacenter\Snapshots\{6b423c3e-47a0-4b0e-a054-6059bedd3aa5}.vhd" "{8575610c-960f-4c67-9153-44677e79e201}"
UUID changed to: 8575610c-960f-4c67-9153-44677e79e201

Bu komutlada hızla düzeltiyoruz.

]]>

Windows Nano Server creation

Server 2016 kurulumundan sonra ISO image veya CD hala takılıyken powershell (PS) e administrator olarak geçip.

Winserver 2016 ISO su takılı iken d: ye geçerek bakıyoruz.
PS C:\Users\Administrator> d:
PS D:> Get-ChildItem
Directory: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d-r--- 9/12/2016 9:52 PM NanoServer
d-r--- 10/13/2016 1:13 PM boot
d-r--- 10/13/2016 1:13 PM efi
d-r--- 1/10/2017 9:08 AM sources
d-r--- 10/13/2016 1:13 PM support
--r--- 5/25/2016 2:52 PM 128 autorun.inf
--r--- 7/15/2016 11:23 PM 386976 bootmgr
--r--- 7/15/2016 8:06 PM 1168736 bootmgr.efi
--r--- 7/15/2016 7:52 PM 80576 setup.exe



Burada gödrüğünüz NanoServer klasörünün içinde ki bazı şeyleri C nin içinde nano diye oluşturduğum klasöre kopyalacağım.

PS D:\NanoServer\NanoServerImageGenerator> Get-ChildItem
    Directory: D:\NanoServer\NanoServerImageGenerator
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---        9/12/2016   9:52 PM                en-US
--r---        7/15/2016   7:30 PM         163433 Convert-WindowsImage.ps1
--r---        5/25/2016   2:42 PM            478 NanoServerImageGenerator.psd1
--r---        7/14/2016   2:18 PM         101216 NanoServerImageGenerator.psm1

Buraya Kopyaladım ve şimdi nano serveri oluşturmak için bazı komutları gireceğiz.

PS C:\Users\Administrator> cd C:\nano2\
PS C:\nano2> Get-ChildItem
    Directory: C:\nano2
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        7/15/2016   7:30 PM         163433 Convert-WindowsImage.ps1
-ar---        5/25/2016   2:42 PM            478 NanoServerImageGenerator.psd1
-ar---        7/14/2016   2:18 PM         101216 NanoServerImageGenerator.psm1

Önce gerekli modulü import ediyoruz ve bu modülün bize getirdiği komutları inceliyoruz.

PS C:\nano2> Import-Module .\NanoServerImageGenerator.psm1
PS C:\nano2> 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

Artık nano-serveri oluşturabiliriz.

PS C:\nano2> New-NanoServerImage -Edition standard -MediaPath d:\ -BasePath C:\nano2\ -TargetPath C:\nano2\nano-svr.vhdx
 -DeploymentType Guest -ComputerName Nano-SVR1 -Storage -Package Microsoft-Nanoserver-IIS-Package

bittikten sonra folder içeriği aşağıda ki gibi oluyor

PS C:\nano2> Get-ChildItem
    Directory: C:\nano2
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       12/13/2018   9:43 PM                Logs
d-----       12/13/2018   9:43 PM                Packages
-ar---        7/15/2016   7:30 PM         163433 Convert-WindowsImage.ps1
-a----       12/13/2018   9:50 PM      569376768 nano-svr.vhdx
-ar---        7/16/2016  10:12 AM      172757121 NanoServer.wim
-ar---        5/25/2016   2:42 PM            478 NanoServerImageGenerator.psd1
-ar---        7/14/2016   2:18 PM         101216 NanoServerImageGenerator.psm1
]]>

Windows administration what the ……….. :)

Şirketim windowsa geçmemi istedi. Sonuçta profesyonel bir bilişim şirketi ve marka şovenliği yapmaktansa ihtiyaca yönelik ürünler ile profesyonel çözümler üreten bir şirket. Personel ihtiyacınıda one göre düzenliyor. Linux dünyasına gönül bağı ile bağlanmış olan ben yine de şirketim gelip windowsa geçer misin dediğinde hayır demedim. Çünkü bende verilen ve verilecek sorumluluklardan hiçbir zaman kaçmadım. Kimi zaman amele gibi çalışsamda bu her zaman bana bilgi ve saygınlık olarak geri döndü.

Bu nedenle evet dedim ve Windows Server dünyasını hiç bir deneyimim olmamasına rağmen öğrenmeye başladım. Her IT cinin yaptığı gibi google ve youtube ikilisi ile baya uğraştım ama hintli ingilizcesi ile daha fazla ilerleyemeyeceğime karar verdim. 🙂

Şanslıyım ki yılların deneyimli windows admini bir iş arkadaşım var ve bana baya zaman ayırıyor. Ondan çok şey öğreniyorum üstelik canlı sistemlerde bu böyle.


Şu bir gerçek öğrendikçe Windows dünyasına da ayrı bir saygı duyuyorum.Üstelik giderek artan şekilde CLI kullanmaları beni rahatlatıyor.

Şimdilik yazacak çok birşey yok ama gelecekte eminim bu konuda da çok şey paylaşırım.

]]>

DHCP Protocol ve ilginç özellikleri

Sisteme yeni bağlanan client içinde bazı önceden mevcut olan konfigürasyonlar ile DHCPDISCOVER mesajı gönderiyor. IP si olmadığından ve DHCP serveri bilmediğinden bunu broadcast olarak yapıyor. Server bu discover mesajını alıp inceliyor olması gereken konfigürasyonlar ile DHCPOFFER mesajını gönderiyor. Client OFFER mesajını alıp kabul ederek DHCPREQUEST gönderiyor. Yani bu ayarları bana reserver et kullanacağım diyor. Daha sonra server DHCPACK yani anlaşıldı mesajı gönderiyor böylece o IP o clienta atanmış oluyor ve server bunu başkasına önermiyor. Aynı IP isteği ile gelen başka DHCPDISCOVER mesajlarına başka IP tahsis ediyor. Normal kapanan bilgisayar IPyi kullanmayacağını bildiren DHCPRELEASE emsajını gönderiyor. Anormal kapanmalarda IP timeout olduğu için release oluyor. DHCPNAK mesajını gönderen client başlangıç konumuna dönüp yeniden bağlantı ile yeni IP isteği gönderir. Genel algoritma akışı aşaığıda ki gibidir. Şimdilik biraz ip ucu gibi 2_ DHCP ile gönderilebilecek ayarların listesi 3_ çalışma mantığı şeması 4_ örnek hazırlama linux2linux with wireshark Linkler https://tools.ietf.org/html/rfc2131 — DHCP RFC si http://www.networksorcery.com/enp/rfc/rfc4388.txt — alakalı bir konu http://www.networksorcery.com/enp/rfc/rfc1533.txt — extensions Eski versiyonu 1993 http://www.networksorcery.com/enp/rfc/rfc2132.txt — extensions Son versiyonu 1997 4_ http://www.networksorcery.com/enp/rfc/rfc3203.txt ]]>