Friday, 30 November 2018

Přepnutí řežimu IDE na AHCI pro systémový disk

V případě přechodu z režimu komunikace disku s počítačem z IDE na AHCI je pro korektní boot systému provést přenačtení ovladačů systému. Toto provedeme následujícím způsobem.

Postup přepnutí

  • Nastavíme pro OS, aby při dalším boot systému nastartoval v režimu safe boot
    • Provedeme zadáním příkazu "bcedit /set sefeboot minimal" do Command line/Powershell v režimu administrátor
  • Provedeme restart počítače do BIOS/uEFI
    • V BIOS/uEFI provedeme změnu kounikace s disky na AHCI
    • Změnu potvrdíme a provedeme restart
  • Po startu systému do režimu safeboot jej vypneme pro následující starty
    • Vypnutí provedeme zadáním příkazu "bcedit /deletevalue sefeboot" do Command line/Powershell v režimu administrátor
    • Provedeme restart
  • Po restartu již systém nabootuje do standartního řežimu s AHCI ovladači

Tuesday, 23 January 2018

PowerShell - script pro vypnutí ipv6, registrace DNS a Netbiosu

Pro hromadné vypnutí paramterů ipv6, registrace DNS a Netbiosu s vyjímkou dedikovaného adaptérů jsem připravil přiložený script.

Vhodný například pro virtualizační host, kde chceme mít pouze nad managmentím adaptérem povoleny dané parametry a pro zbylé adaptéry jsou zbytečné.

Skript ke stažení zde.

.DESCRIPTION
   Script for turning off: ipv6, DNS registration and Netbios on all net adapters, except selected one
.NOTES
    NAME: Disable_ipv6_DNSreg_Netbios_1v0.ps1
    AUTHOR: Jakub Tamchyna
    MAIL: tamchyna.j@protonmail.com
    WEB: https://asimilace.blogspot.com
    VERSION: 1.0
    LASTEDIT: 22.01.2018
#>

#Set excluded adapter
$ExcludedAdapter = Read-Host "What is name of adapter to exclude?"

#Select all adapters except excluded adapter
$SelectedAdapters = (Get-NetAdapter | Where-Object -FilterScript {$_.Name -notlike "*$ExcludedAdapter*"}).Name

#Print selected adapters and ask if continue
"Selected adapters are:" 
$SelectedAdapters | Format-Table 
$ContinueQuestion = Read-Host "Do you want continue? yes/no"

if ($ContinueQuestion -like "*y*")
{
#Loop for defined adapters 
Foreach ($SelectedAdapter in $SelectedAdapters){
    Write-Host "Starting writing configuration for adapter "$SelectedAdapter
    #disable ipv6
    Set-NetAdapterBinding -Name $SelectedAdapter -ComponentID ms_tcpip6 -Enabled $false
    #select ifindex for WMI
    $NicIfIndex = (Get-NetAdapter | Where {$_.Name -eq $SelectedAdapter}).ifIndex
    $Nic = Get-WmiObject Win32_NetworkAdapterConfiguration | where {$_.InterfaceIndex -eq $NicIfIndex}
    #disable DNS registration and Netbios
    $Nic.SetDynamicDNSRegistration($false)
    $Nic.SetTcpipNetbios(2)
    Write-Host "Configuration done for adapter $SelectedAdapter"
}
"Configuration done"
}
else
{
    Write-Host "Canceled by user"
    Exit
}


Pro použítí scriptu stačí z PowerShellu spustit script. Po vyzvání zadat název (i částečný) adaptéru, pro který se vypnutí parametrů nemá aplikovat. Po výpisu adaptérů, pro které bude aplikováno potvrdit a hotovo.



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" }