# Kod dokonuje aktywacji systemu Windows Server 2003.
$Win32::OLE::Warn = 3;
# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';

$boolActivateOnline = 1;
# Jeli jest warto True, wartoci boolActivateOffline powinno
# by False.

$boolActivateOffline = 0;
# Jeli jest warto True, wartoci, boolActivateOnline powinno
# by False.
$strOfflineConfirmationCode = '1234-5678';
# W przypadku aktywacji przeprowadzanej w trybie offline
# trzeba poda kod potwierdzajcy.
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$colWPA = $objWMI->InstancesOf('Win32_WindowsProductActivation');
foreach my $objWPA (in $colWPA) {
    print "Ustawienia aktywacji:\n";
    print '  Konieczno aktywacji: ' . $objWPA->ActivationRequired, "\n";
    print '  Nagwek: ' . $objWPA->Caption, "\n";
    print '  Opis: ' . $objWPA->Description, "\n";
    print '  Aktywno powiadamiania: ' . $objWPA->IsNotificationOn, "\n";
    print '  Identyfikator produktu: ' . $objWPA->ProductID, "\n";
    print '  Pozostay czas trwania okresu prbnego: ' . $objWPA->RemainingEvaluationPeriod, "\n";
    print '  Pozostay czas dopuszczalnego uywania systemu: ' . $objWPA->RemainingGracePeriod, "\n";
    print '  Nazwa serwera: ' . $objWPA->ServerName, "\n";
    print '  Identyfikator ustawie: ' . $objWPA->SettingID, "\n";
    print "\n";

    if ($objWPA->ActivationRequired == 1) {
        if ($boolActivateOnline == 1) {
            $intRC = $objWPA->ActivateOnline;
            if ($intRC != 0) {
                print 'Bd aktywacji w trybie online: ' . $intRC, "\n";
            }
            else {
                print "Aktywacja w trybie online zakoczona powodzeniem\n";
            }
        }

        if ($boolActivateOffline == 1) {
            $intRC = $objWPA->ActivateOffline($strOfflineConfirmationCode);
            if ($intRC != 0) {
                print 'Bd aktywacji w trybie offline: ' . $intRC, "\n";
            }
            else {
                print "Aktywacja w trybie offline zakoczona powodzeniem\n";
            }
        }
    }
}
