Category Archives: Microsoft

Informacje nt. produktów rodziny Microsoft

Płatnik – automatyczna kopia bezpieczeństwa

W artykule przedstawione są dwie metody wykonywania automatycznych kopii bezpieczeństwa programu Płatnik. Pierwsza metoda dotyczy tworzenia kopii Płatnika, który używa bazy danych programu Access (w formacie .mdb). Druga metoda opisuje tworzenie kopii bezpieczeństwa Płatnika, który korzysta z bazy danych MS SQL Server 2008 R2 Express Edition.
W końcowej części artykułu przedstawione są sposoby przenoszenia wykonanych kopii na dysk sieciowy.

 

I Metoda – tworzenia kopii Płatnika, który używa bazy danych programu Access (w formacie .mdb). 

Należy utworzyć plik .cmd o następującej zawartości:

chcp 1250
date /T >> D:\kopie\kopiaPlatnik.log
copy "C:\ProgramData\Asseco Poland SA\Płatnik\Baza\platnik.mdb" D:\kopie

Komenda chcp 1250 jest bardzo istotna, ponieważ zmienia domyślną stronę kodową systemu Windows z 852 na 1250. Bez niej polecenie copy nie rozpoznałoby ścieżki dostępowej kopiowanego pliku, która zawiera polski znak „ł”.

 

II Metoda – tworzenie kopii bezpieczeństwa Płatnika, który korzysta z bazy danych MS SQL Server 2008 R2 Express Edition.

W tym celu należy utworzyć dwa pliki ze skryptami: jeden .cmd, który z odpowiednimi parametrami będzie uruchamiał drugi – właściwy skrypt SQL, wykonujący kopię bazy.

Należy utworzyć plik .cmd o następującej zawartości:

date /T >> D:\kopie\kopiaPlatnik.log
SQLCMD.EXE -S nazwaKomputera\nazwaInstalacjiSerweraSQL -U uzytkownik -P haslo -i D:\kopie\kopiaPlatnik.sql >> d:\kopie\kopiaPlatnik.log

Następnie należy utworzyć plik z rozszerzenie SQL np. D:\kopie\kopiaPlatnik.sql z zawartością:

DECLARE @name VARCHAR(50) -- database name 
DECLARE @path VARCHAR(256) -- path for backup files 
DECLARE @fileName VARCHAR(256) -- filename for backup 
DECLARE @fileDate VARCHAR(20) -- used for file name
 
-- specify database backup directory
SET @path = 'D:\kopie\' 
 
-- specify filename format

-- data w formacie nazwy dnia tygodnia: Monday, Tuesday itd.... 
-- jeśli chcemy uzyskać nazwę miesiąca zmieniamy dw na mm 
SELECT @fileDate = datename (dw, getdate())

-- data w formacie: RokMiesiącDzien_godzMinSek, np. platnik_20170309_134003.BAK
-- SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','') 

 
DECLARE db_cursor CURSOR FOR 
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases
AND DATABASEPROPERTYEX(name, 'status') = 'ONLINE'
 
OPEN db_cursor 
FETCH NEXT FROM db_cursor INTO @name 
 
WHILE @@FETCH_STATUS = 0 
BEGIN 
 SET @fileName = @path + @name + '_' + @fileDate + '.BAK' 
 BACKUP DATABASE @name TO DISK = @fileName 
 
 FETCH NEXT FROM db_cursor INTO @name 
END


CLOSE db_cursor 
DEALLOCATE db_cursor

Tak powstanie plik o rozszerzeniu .BAK, zawierający w nazwie nazwę bazy, podkreślenie oraz dzień tygodnia. Skrypt można modyfikować tak, aby wygenerowany plik .BAK w nazwie zawierał datę i godzinę powstania (fragment kodu jest w powyższym skrypcie w komentarzu).

 

Sposoby przenoszenia wykonanych kopii na dysk sieciowy.

 

I Metoda – za pomocą programu WinSCP z wykorzystaniem protokołu SFTP.

Należy ściągnąć do np. c:\winscp program WinSCP w wersji portable z oficjalnej strony: https://winscp.net/

W zmiennych systemowych zmiennej Patch (po średniku) należy wpisać ścieżkę do programu WinSCP:

;c:\winscp;

Należy otworzyć program WinSCP. exe i połączyć się z dyskiem sieciowym przy pomocy protokołu SFTP, zapamiętując klucz rsa2 serwera.

Następnie należy utworzyć plik .cmd o następującej zawartości:

winscp.com /log=c:\WINSCP\winscp.log /command "open sftp://uzytkownikFTP:haslo@IPserweraFTP/" "synchronize remote d:\kopie/ /kopie/platnik/" "exit"

Aby kopie wykonywały się automatycznie, skrypty .cmd należy uruchamiać za pomocą harmonogramu zadań.

 

II Metoda – za pomocą programu Veeam Endpoint Backup FREE
https://www.veeam.com/endpoint-backup-resources.html

Jest to najlepsze rozwiązanie ponieważ:

  • jest to darmowy program firmy Veeam specjalizującej się w oprogramowaniu przeznaczonym do tworzenia kopii bezpieczeństwa;
  • każda kopia bezpieczeństwa posiada przeglądarkę plików. Program kopiuje pliki z nadmiarowością (sumami kontrolnymi), przez co kopia „jest pewniejsza”
  • posiada swój scheduler;
  • może przechowywać poświadczenia do zasobu. Program podmontowuje zasób tylko na czas tworzenia kopii. Po wykonaniu zadania zasób odłącza. Jest to bardzo dobre zabezpieczenie przez Cryptolockerami, które to często w pierwszym ruchu szyfrują zamontowane zasoby. Dobrą zasadą jest unikanie zapamiętywania poświadczeń w systemie Windows;
  • można ustawić liczbę kopii zapasowych (punktów przywracania);

 

ŻRÓDŁO:

https://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/

http://www.elektroda.pl/rtvforum/topic1198503.html

http://searchengines.pl/topic/105137-brak-polskich-liter-w-cmd/

Windows 10 – skrót do blokowania stacji ( sesji )

Windows 10 nie posiada klawisza „Zablokuj” w Menu -> Start. W celu utworzenia klawisza (w tym przypadku ikonki) „Zablokuj” należy kliknąć prawym przyciskiem myszy na pulpicie, wybrać Nowy i Skrót. W polu „Wpisz lokalizację elementu” umieść następujący wpis:

rundll32.exe user32.dll, LockWorkStation

 

Wyłączenie hosta skryptów w systemie Windows w celu poprawy bezpieczeństwa

Wyłączenie w/w usługi uniemożliwia wykonywanie skryptów JavaScript oraz Visual Basic, co w znacznym stopniu zapobiega uruchomieniu niebezpiecznych wirusów (np typu Ransomware).
Aby wyłączyć usługę należy edytować wartość rejestru:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings]
„Enabled”=dword:00000000

Aby ponownie włączyć WCS należy ustawić wartość na 1.

Optymalizacja pracy dysku SSD w systemie Windows

Aby dokonać optymalizacji pracy dysku SSD w systemie Windows należy:

  1. zmienić wartości rejestru:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV]
    „Start”=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci]
    „Start”=dword:00000000
  2. W BIOS należy aktywować tryb AHCI w SATA-Mode;
  3. Tylko w trybie AHCI działa funkcja TRIM, która pozwala ponownie udostępnić wymazane sektory dysku. Aby ją włączyć należy:
    uruchomić cmd (jako administrator) -> wydać polecenie

    fsutil behavior set DisableDeleteNotify 0

    Dobrym programem do sprawdzenia wydajności dysku SSD jest program AS SSD Benchmark  .

Instalacja systemu Windows 7 z pamięci flash

Aby uruchomienie instalatora Windows z pendrive było możliwe należy go najpierw odpowiednio przygotować za pomocą narzędzia DISKPART (Start -> uruchom -> cmd -> wpisać DISKPART):

list disk
select disk 2
clean
create partition primary
active
format fs=fat32 quick
assign

Następnie należy wgrać na pendrive pliki instalacyjne systemu Windows.

Innym dobrym narzędziem do tworzenia bootowalnych dysków flash jest Rufus: https://rufus.akeo.ie/

Diagnostyka dysku twardego

Dobrymi programami służącymi do diagnostyki dysku twardego są:

  1. Crystal Disk Info: http://crystalmark.info/software/CrystalDiskInfo/index-e.html
  2. Smartmontools: https://www.smartmontools.org/
  3. TestDisk: http://www.cgsecurity.org/wiki/TestDisk
  4. Victoria: http://files.hddguru.com/download/Software/Victoria%20For%20Windows/
  5. MHDD: http://hddguru.com/software/2005.10.02-MHDD/

Uruchamianie programów z uprawnieniami administracyjnymi.

cmd -> runas /user:admin cmd

Control panel tool             Command
   -----------------------------------------------------------------
   Accessibility Options          control access.cpl
   Add New Hardware               control sysdm.cpl add new hardware
   Add/Remove Programs            control appwiz.cpl
   Date/Time Properties           control timedate.cpl
   Display Properties             control desk.cpl
   FindFast                       control findfast.cpl
   Fonts Folder                   control fonts
   Internet Properties            control inetcpl.cpl
   Joystick Properties            control joy.cpl
   Keyboard Properties            control main.cpl keyboard
   Microsoft Exchange             control mlcfg32.cpl
      (or Windows Messaging)
   Microsoft Mail Post Office     control wgpocpl.cpl
   Modem Properties               control modem.cpl
   Mouse Properties               control main.cpl
   Multimedia Properties          control mmsys.cpl
   Network Properties             control netcpl.cpl
                                  NOTE: In Windows NT 4.0, Network
                                  properties is Ncpa.cpl, not Netcpl.cpl
   Password Properties            control password.cpl
   PC Card                        control main.cpl pc card (PCMCIA)
   Power Management (Windows 95)  control main.cpl power
   Power Management (Windows 98)  control powercfg.cpl
   Printers Folder                control printers
   Regional Settings              control intl.cpl
   Scanners and Cameras           control sticpl.cpl
   Sound Properties               control mmsys.cpl sounds
   System Properties              control sysdm.cpl

źródło:

https://support.microsoft.com/en-us/kb/192806

Wyłączenie aktualizacji i powiadomień JAVA

Aby wyłączyć aktualizacje i powiadomienia o aktualizacji JAVA w systemie Windows 7 x64, należy zmienić wartości rejestru:

 

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\jucheck]
„NotifyDownload”=dword:00000000
„NotifyInstall”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy]
„EnableJavaUpdate”=dword:00000000

Zdalne połączenie z Windowsem 7 za pomocą psexec

Aby możliwe było połączenie ze zdalnym komputerem z Windowsem 7, należy na nim dodać do rejestru następującą wartość:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001

PowerShell remoting

Wymagania dot.  zdalnego połączenia przez PS:

  1. Otwarte porty: WSMan: 5985. Jeżeli połączenie ma się odbywać przez SSL, otwarty również port 5986;
  2. Sieć nie publiczna: Prywatna lub Firmowa;
  3. Uruchomiona usługę WinRM, skonfigurować uruchamianie w auto starcie;
  4. Utworzony Listenera dla adresu IP lub nazwy komputera.

Uruchomienie PS Remoting na komputerach pracujących w domenie:

  1. Konfiguracja auto startu usługi:
    Computer Configurations / Windows Settings / Security Settings / System Services / Windows Remote Management (WS-Management),
  2. Konfiguracja Listenera:
    Computer Configurations / Administrative Templates / Windows Components / Windows Remote Managament (WinRM) / WinRM Service / Allow remote server management through WinRM
    Opcja skonfigurowana na Enable, w miejscu IPv4 filter gwiazdka (*)
  3. Konfiguracja zapory sieciowej:
    Computer Configurations / Windows Settings / Security Settings / Windows Defender Firewall with Advanced Security / Inbound Rules – Wybrać usługę Windows Remote Management (HTTP-In)

Zamiast klikologii można posłużyć się komendami Powershell. Na maszynie, do której mamy się łączyć należy otworzyć PS z podwyższonymi uprawnieniami i wydać następujące komendy:

$Interface_Index = Get-NetConnectionProfile | Select -ExpandProperty InterfaceIndex
Set-NetConnectionProfile -InterfaceIndex $Interface_Index -NetworkCategory Private
Enable-PSRemoting -Force
Restart-Service WinRM

Dodatkowo na komputerze z którego mamy się łączyć do innych maszyn należy uruchomić PS z podwyższonymi uprawnieniami i wydać następującą komendę:

Set-Item wsman:\localhost\client\trustedhosts *

Samo połączenie do zdalnego komputera odbywa się poprzez wydanie polecania:

Enter-PSSession -ComputerName 192.168.5.7 -Credential admin

Możliwe jest wykonanie skryptu lub komendy na wielu komputerach naraz poprzez polecenie:

Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -ScriptBlock { Get-ChildItem C:\ } -credential admin_account_name

lub uruchomić skrypt PowerShell:

Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -FilePath C:\skrypty\tajemniczy_skrypt.ps1

Źródła:
http://powershell.org/wp/2012/08/06/ebook-secrets-of-powershell-remoting/
http://blogs.technet.com/b/heyscriptingguy/archive/2013/11/29/remoting-week-non-domain-remoting.aspx