Wednesday, 22 November 2017

Windows - zobrazení S/N

Pro zobrazení použitého klíče pro systém vytvoříme vbs script, který nám zobrazí aktuální použitý klíč.

V notepadu vytvoříme nový soubor, vložíme následující script:

Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))

Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function

Uložit jako key.vbs a spustit. Po spuštění vyběhne pop-up okno s požadovanou informací.

Wednesday, 8 November 2017

SCOM - nastavení proxy pro konzoli

Při importu managmentích balíčků do SCOMu z online katalogu v prostředí s přístupem na internet skrze proxy, může vyskočit chyba komunikace “Operations Manager cannot connect to the Web service”.

Pro vyřešní chyby je potřeba mít v nastavení připojení k internetu korektní proxy server a úprava konfiguračního souboru konzole SCOM.

Cesta ke konfiguračnímu souboru:

C:\Program Files\System Center 2012\Operations Manager\Console\Microsoft.EnterpriseManagement.Monitoring.Console.exe

Do konfiguračního souboru, na jeho konec, před </configuration> vložíme následující blok:

<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy usesystemdefault="True" />
</defaultProxy>
</system.net>

Po restartování konzole již připojení konzole na internet, potažmo na servery MS je již v pořádku.

Poznámka: konfigurační soubor není možné editovat v jeho originálním umístění - je vhodné ho odkopírovat a po doplnení jím nahradit původní soubor.

Více informací: Blog Microsoftu

Tuesday, 26 September 2017

PowerShell - Resize-Partition MaxSize


Pro změnu velikosti partition skrze PowerShell můžeme využít následující skript. Výhodné například po rozšíření přiřazených LUN pro hosty nebo po rozšíření kapacity .vhdx disku.

Verze pro připojený svazek


$MaxSize = (Get-PartitionSupportedSize -DriveLetter c).sizeMax
Resize-Partition -DriveLetter c -Size $MaxSize

-DriveLetter C - nastavit na požadovaný svazek


Verze pro připojený svazek bez namapování na DriveLetter


Pomocí Get-Partition si zjistíme -DriveLetter a -PartitionNumber, které poté dosadíme do skriptu.

$MaxSize = (Get-PartitionSupportedSize -DriveLetter 1 -PartitionNumber 1).sizeMax
Resize-Partition -DriveLetter 1 -Size $MaxSize


Více informací: TechNet

Thursday, 1 June 2017

NetXMS - odemčení databáze

Na zamčení databáze NetXMS můžeme narazit například po migraci NetXMS serveru, při které se zemní adresace serveru.

Chybová hláška v logu vypadá například takto:

Error 47 - database is locked


Pro odemčení databáze je potřeba spustit nxdbmgr a provést kontrolu databáze. Tím dojde k odemčení databáze a možnosti spuštění core služby NetXMS.

Použití


V příkazovém řádku se zvýšenými právy na uroveň administrace spustíme příkaz nxdbmgr check
Program nxdbmgr je umístěn v lokalitě $/NetXMS/bin.

Dojde k vyzvání potvrzení kontroly. Po potvrzení Y proběhne kontrala databáze a jejímu odemčení.

nxdbmgr check

Friday, 14 April 2017

CA CMDB - pdm_deref

Pro spárování existujcích dat se používá funkce pdm_deref.

Příkladem je situace kdy nahráváte nové pobočky, která mají návaznost relací na již nahrané adresy. V provázání pomocí SREL je určena klíčová hodnota ID (location_UUID).
Místo složitého dohledávání UUID pro každou lokailtu je možno použít přívětivější název location_name, který za pomocí pdm_deref nahradíme platným location_UUID. Díky tomu budeme moct dále pomocí nahrávání číselníkových (pdm_load) data nahrát a vytvořit tak návaznost v systému.

Použití


pdm_deref -s vstupni_data < vstupni_parametry > vystupni_parametry


operátory:

-s - určení vstupního souboru


Příklad:

pdm_load -s ca_location_in.txt < ca_location_def.txt > ca_location_out.txt


Formát dat

Formát dat musí být uložený ve formátování UTF-8.
Struktura dat v souboru je následující:


Soubor vstupní data

Stejná jako když připravujeme data pro pdm_load:

TABLE jmeno_tabulky
parametr1 parametr2
{ "hodnota_1", "hodnota_2" }


Příklad

TABLE ca_organization
comment org_name location_name
{ "Organizace v Praze 1", "ORG_P1", "Praha_1" }
{ "Organizace v Praze 5", "ORG_P5", "Praha_5" }


Soubor s definicí (vstupními parametry)

Defef
{
input = vstupni_tabulkovy_zaznam
output = vystupni_tabulkovy_zaznam
rule = "SELECT id FROM tabulka_ze_ktere_se_ctou_data WHERE cteny_zaznam=?"
}

Kdy:

input = vstupni_tabulkovy_zaznam - název atributu, který bude ze vstupního souboru porovnáván s hodnotou pole v databázi
output = vystupni_tabulkovy_zaznam - název atributu ve výstupním souboru, do kterého budou doplněny dereferencované hodnoty z databáze
rule = "SELECT id FROM tabulka_ze_ktere_se_ctou_data WHERE cteny_zaznam=?" - databázový dotaz, který říká: vyber všechny atributy id z tabulky ca_location, kde je location_name shodné s hodnotou parametru v input a ulož je do výstupního souboru jako output


Příklad

Deref
{
input = location_name
output = location_uuid
rule = "SELECT id FROM ca_location WHERE location_name=?"
}

Výstupní data po použití dpm_deref

Jak si můžeme všimnout, atribut a hodnoty location_name byly nahrazeny adekvátními hodnotami atributu locaton_uuid.

TABLE ca_organization
comment org_name location_uuid
{ "Organizace v Praze 1", "ORG_P1", "CAF08BA06EB6864CBA9102437EE2AADF" }
{ "Organizace v Praze 5", "ORG_P5", "C2FFABB6B3F39F4AAE056801D0E322E5" }

CA CMDB - pdm_load

Pro nahrávní číselníkových dat v CA CMDB se používá příkaz pdm_load.

Varování - používání pdm_load může být desktruktivní a vždy před použitím je vhodné mít připravenou zálohu (zejména při nevhodném použití parametru -i). 

Použití

pdm_load [-a] [-c] [-h] [-i] [-r] [-v] -f jmeno_souboru


operátory:

-f - určení vstupního souboru
-a - update exitujících dat
-c - pouze kontrola vstupních dat
-h - nápověda
-i - vložení dat
-r - odstranění dat
-v - verbose režim


Příklad:

pdm_load -i -f ca_state_province.txt

Formát dat

Formát dat musí být uložený ve formátování UTF-8.
Struktura dat v souboru je následující:

TABLE jmeno_tabulky
parametr1 parametr2
{ "hodnota_1", "hodnota_2" }

Kdy:
jmeno_tabulky - odpovídá hodnotě Schema Name ve Schema Designeru
parametr1 -  odpovídá hodnotě Schema Name ve Schema Designeru
hodnota1 - zapisovaná hodnota (dle určení Field typu v DB)

Příklad:

TABLE ca_state_province
symbol description
{"SCK", "Středočeský kraj"}
{"PLK", "Plzeňský kraj"}
{"KVK", "Karlovarský Kraj"}
{"ULK", "Ústecký kraj"}
{"LIK", "Liberecký kraj"}
{"KHK", "Královéhradecký kraj"}
{"PAK", "Pardubický kraj"}
{"JMK", "Jihomoravský kraj"}
{"VYK", "Kraj Vysočina"}
{"MSK", "Moravskoslezský kraj"}
{"OLK", "Olomoucký kraj"}
{"ZLK", "Zlínský kraj"}
{"PHA", "Hlavní město Praha"}



Wednesday, 15 March 2017

How to - VPN Gate (Win/macOS)

V případě potřeby přístupu na internet na veřejné síti, kdy si nemůžeme být jisti tím, zda naše pakety a data nejsou zachytávány, je vhodné používat pro přístup VPN tunel. Obecně problematika proč a kdy používat VPN je poměrně rozsáhlá a v dnešní, již skoro Orwellovské době, je jen na každém z nás, jak se k tomu postaví.

Jedna z mála veřejně dostupných free VPN služeb se jmenuje VPN Gate. Jedná se o experimentální projekt zaštítěný akademickým výzkumem Graduate School of University of Tsukuba z Japonska.
Popis projektu i se srozumitelnou grafikou kdy a proč využívat pro přístup k internetu VPN je zde:

http://www.vpngate.net/en/about_overview.aspx

Nejedená se o placenou službu, takže je zde samozřejmě otázka bezpečnosti dat na výstupních serverech. Nicméně při troše selského rozumu a vhodném výběru serverů se dá služba využívat. Samozřejmě je vhodné dále používat další formy šifrování komunikace.

Připojení pro Windows


Nejjedodušší je využít SoftEther VPN klienta s pluginem VPN Gate. Jedná se o jednoduchou instalaci i používání. Detajlní postup v odkazu níže.

http://www.vpngate.net/en/howto_softether.aspx#windows

Připojení pro macOS

Připojení z macOS je trochu složitější. Nicméně lze také provést. Z praktickho hlediska se mi nejvíce osvědčila a je asi nejjednodušší kombinace Tunnelblick a využití VPN Gate OpenVPN serverů.

Tunnelblick je dostupný zde - https://tunnelblick.net/downloads.html

Postup

Pro získání .ovpn konfiguračního souboru si na stránce VPN gate vylistujeme servery s podporou OpenVPN a vybereme si server, který nám vyhovuje. Osobně preferuji servery z Japonska a Jižni Korey.


Stáhneme konfigurační soubor.


Vložení staženého konfiguračního souboruje pak jednoduchý drap and drop do aplikace Tunnelblick.


Při doptání na instalaci vybereme zda má být pouze pro našeho uživatele, nebo všechny.


Pro instalaci konfigurace je potřeba potvrdit instalci a opravánění.


V konfiguraci nově přidaného profilu zaškrtneme Route all IPv4 traffic through the VPN (důležité!)


Poté se již můžeme připojit. Buď konfigurační stránkou nebo vylistovaným seznamem z lišty či pop-up oknem připojení.


V průběhu přopojovování uvidíme stavové informace. Pokud máme konfigurační soubor delší dobu, může se stát, že server bude vypnut. V tomto případě je potřeba stáhnout konfigurační soubor na jiný server.



Potvrzení připojení.


A hotovo. Prostup na intenet je již ve VPN tunelu. Lze snadno ověřit na whatsmyip.com a podobném.

Monday, 13 March 2017

How to - připojení disků pomocí MPIO

Postup pro připojení iSCSI síťových disků s využitím MPIO (Multi Path IO) ve Windows Server 2012 a novejších. Používá se pro zvýšení dostupnosti iSCSI disků a současně agragaci linek pro navýšení výkonu.

Predispozice


  • iSCSI Target server nebo diskové pole
  • Přiřazené IQN pro diskové LUNy
  • Min. 2 dedikované síťové adaptéry pro iSCSI
  • Aktivovaná služba iSCSI Initiator
  • Přidaná feature MPIO

Postup


V nastavení MPIO, záložce Discover Multi-Paths  přidáme podporu pro iSCSI zařírení. Po přidání je nutný restart.

MPIO Properities

Po restartu otevřeme iSCSI Initiator Properties. V záložce Discovery přidáme Discovery portál. Vypleníme adresu Target serveru a přejdeme do Advanced nastavení.

Discover Target Portal

V Advanced Settings, záložce General nastavíme Local adapter na Microsoft iSCSI Initiator a vybereme IP adresu prvního z dvojie dedikovaných adaptérů.

Advanced Settings 1

Totéž provedeme i pro druhý z dvojice dedikovaných adaptérů.

Advanced Settings 2

Zpátky v iSCSI Initiator Properties v záložce Targets dáme Refresh pro načtení dostupných targetů, vybereme target a přejdeme do Properties.

Targets

V Properties přidáme session Add session.

Add session

Otevře se nám konfigurace Connect To Target. Vybereme Enable multi-path a přejdeme do Advanced.

Connect To Target

V Advanced Settings nastavíme Local adapter na Microsoft Initiator, Initiator IP na adresu prvního iSCSI adaptéru, Target portal IP na IP adresu Target serveru. Poté dáme OK a přidáme připojení. 

Advanced Settings Connet To Target

Opakujeme znova pro druhý iSCSI adaptér. Pokud má náš Target server více adres, provedeme připojení obou adaptérů na všechny adresy Target serveru. V tomto případe má Target server 2 adapterý se dvěmi adresami, stejně tak náš cílový server - tudiž celkem 4 připojení pro plnou redundanci.

Přidané mutipath session

Pokud máme více Targetů, zopakujeme postup pro připojení pro zbylé targety. V tomto případě vidíme připojené dva targety.

Připojené targety
V Disk Managmentu nyní již vidíme připojené targety.

Disk Managment

Disk přepneme do Online.

Přepnutí do Online

Disk je připojen do systému a plně dostupný.

Připojený Online disk



SC VMM - uvolnění IP adres z IP Poolu

Hodí se v situaci, kdy potřebujeme odstranit IP Pool, který již má přiřazeny IP adresy a pokus o smazání zkončí chybovou hláškou:

"VMM is unable to delete the static IP address pool (iSCSIIPPool) because it has allocated IP addresses. Please return all the allocated IP addresses to the pool by using the Revoke-SCIPAddress cmdlet, and then retry this operation. You can retrieve the allocated addresses by using the Get-SCIPAddress cmdlet with the -StaticIPAddressPool parameter.ID: 13671"

Uvolnění provedeme pomocí následujících 3 příkazů v PowerShellu (Subnet nahradíme požadovaným). Po provedení příkazu se nám zobrazí seznam uvolněných IP adress.:


$IPAddressPool = Get-SCStaticIPAddressPool -IPv4 -Subnet "192.168.1.0/24"
$IPAddress = Get-SCIPAddress -StaticIPAddressPool $IPAddressPool
ForEach ($ip in $IPAddress) {Revoke-SCIPAddress -AllocatedIPAddress $ip}


Ob1 - výstup PowerShellu

Poté je možno již bez problémů odebrat požadovaný IP Pool.

Dell iDRAC a Virtual Media v konzoli

Možnost připojení ke konzoli iDRAC v.6 funguje aktuálně:

  • Windows s Java 1.7+ plně, včetně Virtual Media
  • MacOS s Java 1.7+ částečně - nefunguje Virtual Media (z důvodu odebrání 32bit knihoven v MacOS Javě)

Možnost připojení ke konzoli iDRAC v.7+ funguje aktuálně:


  • Windows s Java 1.7+ plně, včetně Virtual Media
  • MacOS s Java 1.7+ plně, včetně Virtual Media

PowerShell - tipy na zajímavé příkazy

Jak vypnout základní systémové věci ve Windows:

Vypnout Firewall
# Disable FirewallSet-NetFirewallProfile -Profile * -Enabled False

nebo postaru: netsh advfirewall set allprofiles state off

Vypnout Windows Defender 
# Disable Windows Defender
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows Defender" -Name "DisableAntiSpyware" -Type DWord -Value 1

Vypnutí UAC
# Lower UAC level
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Type DWord -Value 1
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop" -Type DWord -Value 0


Vypnutí telemetrie
# Disable Telemetry
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0


Vypnutí SmartScreen filteru
# Disable SmartScreen Filter
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer" -Name "SmartScreenEnabled" -Type String -Value "Off"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\AppHost" -Name "EnableWebContentEvaluation" -Type DWord -Value 0


Vypnutí Bingu ve Start menu
# Disable Bing Search in Start Menu
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Search" -Name "BingSearchEnabled" -Type DWord -Value 0


Vypnutí zjišťování polohy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}" -Name "Value" -Type String -Value "Deny"
If (!(Test-Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}")) {
New-Item -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}" -Force | Out-Null
}
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}" -Name "SensorPermissionState" -Type DWord -Value 0

Vypnutí Contany
# Disable Cortana
If (!(Test-Path "HKCU:\Software\Microsoft\Personalization\Settings")) {
New-Item -Path "HKCU:\Software\Microsoft\Personalization\Settings" -Force | Out-Null
}
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Personalization\Settings" -Name "AcceptedPrivacyPolicy" -Type DWord -Value 0
If (!(Test-Path "HKCU:\Software\Microsoft\InputPersonalization")) {
New-Item -Path "HKCU:\Software\Microsoft\InputPersonalization" -Force | Out-Null
}
Set-ItemProperty -Path "HKCU:\Software\Microsoft\InputPersonalization" -Name "RestrictImplicitTextCollection" -Type DWord -Value 1
Set-ItemProperty -Path "HKCU:\Software\Microsoft\InputPersonalization" -Name "RestrictImplicitInkCollection" -Type DWord -Value 1
If (!(Test-Path "HKCU:\Software\Microsoft\InputPersonalization\TrainedDataStore")) {
New-Item -Path "HKCU:\Software\Microsoft\InputPersonalization\TrainedDataStore" -Force | Out-Null
}
Set-ItemProperty -Path "HKCU:\Software\Microsoft\InputPersonalization\TrainedDataStore" -Name "HarvestContacts" -Type DWord -Value 0

PowerShell - přidání sítového adaptéru do standartního virtuálního switche pro Host

Přidat lze na switch vytvořený jak za pomocí Hyper-V, tak za pomoci NIC Teamingu. První příkaz vytvoří nový adaptér, druhý příkaz mu přiřadí VLAN (pokud jsou používané)

Add-VMNetworkAdapter -ManagmentOS -SwitchName switch1 -Name Sit1


-ManagmentOS - přidání pro Host server
-SwitchName switch1 - jméno virtuálního switche
-Name Sit1 - jméno nového virtuálního síťového adaptéru adaptéru

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName Sit1 -Access -VlanId 21


-ManagmentOS - přidání pro Host server
-VMNetworkAdapterName Sit1 - jméno virtuálného síťového adaptéru, kterému se má přiřadit daná VLAN
-Access - access mode (musí být v souladu s nastavení fyzického switche)
-VlanId 21 - číslo VLAN

Více informací: TechNet 1 TechNet 2

PowerShell - přidání portu do firewallu

New-NetFirewallRule -DisplayName "Allow inbound port 123" -Direction Inbound -LocalPort 123 -Protocol TCP -Action Allow -Enabled:True

-DisplayName "Allow inbound port 123" - zobrazené jméno pravidla
-Direction Inbound - směr (dovnitř-ven)
-LocalPort 123 - číslo port
-Protocol TCP - protokol
-Action Allow - otevření portu
-Enabled:True - povolení pravidla


PowerShell - připojení na vzdálený počítač

Enter-PSSesion -ComputerName Server01 -Credential domena/uzivatel


Enter-PSSesion - vytvoření připojení, pokud je samostatně, dojde k dotazu kam se má session připojit
-ComputerName Server01 - specifikace počítače, Server01 nahradit DNS jménem nebo IP adresou
-Credential domena/uzivatel - volitelně, v případě jednotného připojení v rámci domény automaticky se pokusí použít údaje aktuálně přihlášeného uživatele

Vice informací: TechNet