Přejít k obsahu webu
2.4.2019 / kaldy123

Windows Server 2012R2 Minimal Interface

Proč minimal Interface? Je to lepší než Server Core – máte k dispozici Server Manager, skoro všechny grafické management nástroje, dokonce i takový Notepad Vám tam poběží…. Tak o co přij.dete?

Nemáte: File manager, Internet Explorer a Start menu. Nemáte nic a nelze doinstalovat nic z Desktop Experience.
Že Vám to nevadí? Že stejně používáte Total Commander a Google Chrome? No jo…

A co získáte? Microsoft tvrdí, že menší spotřebu disků (mohu potvrdit jen částečně – nutno provést PowerShellový příkaz Uninstal-WindowsFeature -Remove -Name Server-Gui-Shell ) a menší potřebu paměti (mohu potvrdit z vlastní zkušenosti).

Co získáte zcela určitě? Asi o 80% méně updatů a s nimi spojených restartů.

Tak co, líbí se Vám Minimal Inteface? K tomu jen dodám, že stejně jako v případě Server Core lze doinstalovat plný shell (nutno doinstalovat právě onu Feature Server-Gui-Shell) anebo stejně jako v případě plné instalace přejít na Server Core (Unistall-WindowsFeature -Name Server-Gui-Mgmt-Infra (-Remove)).

Tak se moc netěšte. Ve Windows 2016 není možný přechod mezi plnou grafickou a Core verzí, není žádný Minimal Interface… Prý nebyl zájem.

Hmm… jen tak na okraj. Na školení se tuto feature nedozvíte (anebo je Pan školitel frajer). Znám školení 20-410, 411 i 412 – v materiálech ni slóva. Já se to dozvěděl při nášprtu na jednu z certifikací. Tož vzpomínejte se mnou na starý dobrý W2012R2, až budete bojovat s W2016 či W2019.

26.3.2019 / kaldy123

Virtual NAT switch

Pozor: na Hyper-V hostiteli je podporován pouze 1 Virtual NAT Switch!!!
Po nakonfigurování více NAT-switchů se systém dostane do nedefinovaného stavu!!!

Ve Windows Server 2016 TechnicalPreview byla tato sqělá možnost i v grafickém interface. Opět některý z moudrých rozhodl, že uživatelé toto nepotřebují. Faktem je, že to potřebuje Docker. A snad proto zůstal pohrobek v PowerShellu. Pro testování – úžasné. Budu rád, pokud mi do komentáře napíšete další scénáře…

1. Výpis status quo na Hyper-V serveru:

2. Vytvoření internal switche

3. Zjistíme index adaptéru Hyper-V serveru v NAT síťce:
(oproti výpisu 1. přibyl jeden virtální adaptér, jméno snadno dohledáte (v závorce máte jméno switche)

4. a přiřadíme mu IP adresu (v rámci NAT síťky, bude to gateway síťky):

5. Z internal switche vytvoříme NAT switch:

Nezapomeň na přidělování adres v rámci NAT síťky: externí DHCP se tam nedostane!

23.2.2019 / kaldy123

Výpis disků – ConvertTo-Html …

Příkaz:

Get-Volume|Select-Object DriveLetter,`
@{n='Total GB';e={'{0,0:n2}' -f($_.Size/1GB)}},`
@{n='Remains GB';e={'{0,0:n2}' -f($_.SizeRemaining/1GB)}},DriveType|`
Sort driveletter| ConvertTo-Html -Head `
"<title>Vypisy disku</title><style>`
table {border: #00ff00 3px ridge; border-collapse:collapse} `
th {background-color:#C0FFC0;padding:3px} `
td {border:#00ff00 1px solid; text-align:center}</style>" `
-Body '<h1>Vypisy disku</h1>' |`
Out-File c:\getvolume.html

Vytvoří:

Poznámky:

  1. Chce to PS 5.0 – na W7 bez dalších úprav systému to nepoběží….
  2. Přímo na C-čko bez privilegíí (run as administrator) to neuložíte. Tak třeba n C:\X\….
  3. Ten styl by selbstverstandlich šel i přes externí css soubor …

Klíčová slova: powershell, formátování, ConvertTo-Html, Out-File

===

22.2.2019 / kaldy123

Něco z MOC 10961

**********************
Windows PowerShell transcript start
Start time: 20190222214004
Configuration Name: 
Machine: . (Microsoft Windows NT 10.0.17134.0)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Process ID: 14696
PSVersion: 5.1.17134.590
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17134.590
BuildVersion: 10.0.17134.590
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
Transcript started, output file is c:\transcript4.txt
PS C:\WINDOWS\system32> Invoke-Command -ComputerName hvHost `
 -ScriptBlock {Get-Vm|? state -eq running|`
 ft name,cpuusage,`
 @{n='memoryassigned';e={'{0,10:n2}' -f($_.memoryassigned/1GB)}},`
 @{n='days';e={'{0,3}' -f($_.uptime.days)}},`
 @{n='hours';e={"{0,0:hh}:{0,0:mm}" -f($_.uptime)}}}

Name       CPUUsage memoryassigned days hours
----       -------- -------------- ---- -----
BE20-BE           4       7,81       0  10:42
BE20-DC1          0       1,52       0  10:51
BE20-W2019        0       1,00       0  01:45
nanoQuorum        0       0,50      34  10:16
R420-W10          0       1,24       0  12:20
UBU-SRV2          0       1,28       7  10:57


PS C:\WINDOWS\system32> Invoke-Command -ComputerName comp `
 -ScriptBlock {Get-Volume|sort driveletter|`
 ft @{n='drive';e={'{0,3}'-f($_.driveletter)}},` 
 @{n='Size GB';e={'{0,7:n3}' -f($_.size/1GB)}},` 
 @{n='Remain GB';e={'{0,9:n3}' -f($_.SizeRemaining/1GB)}},`
 @{n='   type  ';e={'{0,7}' -f($_.drivetype)}}}

drive Size GB Remain GB    type
----- ------- --------- ---------
        0,536     0,160   Fixed
  C    44,176    29,184   Fixed
  D   839,813   115,741   Fixed
  E   488,281   461,619   Fixed
  F     0,000     0,000  CD-ROM
  H   465,759   465,526   Fixed


PS C:\WINDOWS\system32> Stop-Transcript
**********************
Windows PowerShell transcript end
End time: 20190222214225
**********************

klíčová slova: powershell , formátování , výpis VM , Výpis volumes

19.2.2019 / kaldy123

Visual Basic: File System File Object

The FSO File Object

The following uses some of the FSO File’s properties to display information about a file.

 

Private Sub displayFileInfo(ByVal fileName As String)
Dim fso As New FileSystemObject
Dim fileSpec As File
Dim strInfo As String
Set fileSpec = fso.GetFile(fileName)
strInfo = fileSpec.Name & vbCrLf
strInfo = strInfo & „Created: “
strInfo = strInfo & fileSpec.DateCreated & vbCrLf
strInfo = strInfo & „Last Accessed: “
strInfo = strInfo & fileSpec.DateLastAccessed & vbCrLf
strInfo = strInfo & „Last Modified: “
strInfo = strInfo & fileSpec.DateLastModified
MsgBox strInfo, vbInformation, „File Information“
Set fileSpec = Nothing
End Sub
10.1.2019 / kaldy123

Virtual machine move na w2016 core

Poznámka: Článek má obecnější platnost: Nastavení Firewallu pro File Sharing za pomocí Group Policy.

Přesun (move) virtuální mašiny na W2016 jsme si sice popsali minule, ale když jsem to zkusil na „core“ instalaci, akosi som něpochodil. Ta hláška „credential cannot be used“ mě mátla – delegace byla nastavena – tak co ještě chce?!

Došlo mi to za chvíli: credentials byly v pořádku, ale celkem na nic, pokud na firewallu nemáte povoleny porty pro sdílení. Byl jsem na mrtvici: server v instalaci core, GUI veškeré žádné, vymyslet porty nutné pro SMB a napsat cca 5 net-shell příkazů bylo doopravdy nad mé morálně volné vlastnosti.

Vhodné řešení (pro mne) bylo nastavení group policy. Fór je v tom, že politiky si napíšu v pohodlí GUI mých W10 přes RSAT. Tu eleganci vidím v tom, že si napíši malou politiku a budu ji používat pro všechny mašiny, kde sdílení potřebuji. GPO přiřadím na úrovni domény a provedu security filtering na „security global group“. Asi takto:

  1. Vytvoření security global group:
    Práce s AD Users and Computers by neměl být problém, zrouna tak naplnění skupiny (potřebujeme tam mít cílový server – virtuálního hostitele)
  2. Vytvoříme GPO (v Group Policy Management konzole a rovnou pravým tlačítkem na doménu):

    … pokračujeme OK
  3. a vytvořenou politiku zeditujeme (klik pravým na novou politiku):

    otevře se nám editor, v levém panelu rozvineme cestu dle obrázku:
    a v pravém panelu klikem pravého tlačítka v prázdné oblasti vyvoláme dialog „New Rule“, ve kterém nastavíme:
    Odsouhlasíme 2x NEXT a 1xFinish a měli bychom obdržet:
    Editor GPO můžeme nyní zavřít – a navrátíme se ke Group Policy Managementu.
  4. Zbývá nám poslední: nastavit Security Filtering, tj. politika se provede jen pro členy vybrané global security group:
    V levém panelu vybereme právě vytvořenou politiku (EnableFWFileSharing) a v pravém panelu tlačítkem ADD vyvoláme dialog, ve kerém zadáme jméno skupiny, kterou jsme vytvořili v bodě 1 (GroupEnableFWFileSharing) a odsouhlasíme OK.
    Myší označíme identitu Authenticated Users a tlačítkem REMOVE ji odstraníme. Odsouhlasíme několik Warning hlášek a měli bychom obdržet:
  5. Servery, které přesuneme do skupiny GroupEnableFWFileSharing, musíme restartovat, aby politika zabrala a nastavil se Firewall (GpUpdate nestačí!)

Poznámka k nastavení Firewalu pro povolení File Sharing:
Nastavení je ponecháno „na hrubo“ kvůli jednoduchosti.

  •  Ti pokročilejší mohou následně vymazat všechny pravidla (Rules), které se týkají profilu Private (popřípadě Public – objeví-li se). Pracujeme v doméně (používáme Group Policy).
  • Dále: pro účely uvedené v nadpisu (přesun VM), jsou zcela nepotřebná pravidla pro „Echo Request“ a „Spooler Service“ – a lze je tedy vyhodit. Pokud ale chete širší využití politiky – ponechte je.
17.12.2018 / kaldy123

Přihlášení k W10 v doméně pomocí Windows Hello

Bez nastavení v Group Policy to nejde – protože (zřejmě asi) jde o firemní politiku: zda Windows Hello nebo Windows Hello for Business (což je jiný kalibr, kde se řeší i připojení na Azure Active Directory, SSO, PIN recovery a podobné „lahůdky“ – do kterých adminům není moc radno kecat).

Pro adminy jednoduchá kuchařka pro Windows Hello (nikoliv for Business!):

Computer ->Administrative Templates -> System -> Logon -> Turn on convenience PIN sign-in : Enabled

V komentáři, který vám vypisuje GP editor se dočtete, že „is valid for“ W8, W8.1 a servery W2012 a W2012R2. No, já to dělal pro W10 (1803) a ty admx-y jsem vytahal z těch W10!

Protože Administrative Templates, doporučuji centrální úložiště (Policy Definitions na SYSVOL) a ty templates najdete na lokálu W10 na cestě C:\windows\Policy Definitions…