Powershell: Usuwanie plików starszych niż 1 miesiąc

2013-12-19

Tym tematem już się kiedyś zajmowałem. Tym razem o wiele prostsze rozwiązanie z wykorzystaniem powershell:

$SourceFolder = „d:\logs”
$DestinationFolder = „k:\logs_archive”

get-childitem -Path $DestinationFolder |
where-object {$_.LastWriteTime -lt (get-date).AddDays(-31)} |
remove-item

A co zrobić jeżeli pliki starsze niż 2 tygodnie mają być przeniesione z jednego folderu do innego:

get-childitem -Path $SourceFolder |
where-object {$_.LastWriteTime -lt (get-date).AddDays(-14)} |
move-item -destination $DestinationFolder

A to moje rozwiązaie nie wykorzystujące powershell: http://www.mobilo24.eu/okresowe-kasowanie-starych-plikow/

By Rafał Kraik in Power Shell

Konto wirtualne i zarządzane / Virtual Account and Managed Service Account

2013-11-28

SQL server powinien mieć ściśle ustawione uprawnienia. Najlepiej zrobić to przygotowując konto domenowe i wskazać to konto jako serwisowe dla SQL Server. Zawsze problemem pozostaje, czy na takim koncie również wymuszać regularną zmianę hasła. Okazuje się że tak. Dlatego Microsoft przygotował dla nas coś innego:

  1. Managed Service Account (MSA) –  konto zakładane w AD.  Początkowo bez hasła. Służy ono wyłącznie do uruchamiania usług. Kiedy podczas instalacji wskażesz takie konto, jako serwisowe, to konto samo regularnie będzie zmieniać hasło. Łatwo też będzie decydować o uprawnieniach takiego użytkownika w domenie.
  2. Virtual Account – można powiedzieć, że to MSA, ale założone lokalnie na danym komputerze. To konto również może sięgać do zdalnych zasobów, ale robi to z uprawnieniami konta komputera.

 

Czytaj dalej »

By Rafał Kraik in SQL

Błędy podczas wykonania maintnance planu

2013-11-25

Stworzyłem maintnance plan,

Stworzyłem katalog na dysku U:

Nadałem uprawnienia do U:\Backup dla konta na którym pracuje SQL.

A backup nadal kończy się błedem:

Error: 2013-11-22 15:14:02.53
Code: 0xC002F210
Source: Back Up Database (Full) Execute SQL Task
Description: Executing the query „EXECUTE master.dbo.xp_create_subdir N’U:\Backup\Full\moja_baza’
” failed with the following error: „xp_create_subdir() returned error 5, 'Access is denied.'”. Possible failure reasons: Problems with the query, „ResultSet” property not set correctly, parameters not set correctly, or connection not established correctly. Czytaj dalej »

By Rafał Kraik in SQL

Błąd podczas uruchamiania SQL Server Configuration Manager. Błąd cannot connect to WMI

2013-11-25

Spotkało Cię coś takiego:

SQL Server Configuration Manager
Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that you can only manage SQL Server 2005 and later servers with SQL Server Configuration Manager.  Invalid class [0x80041010]
Ot rozsypała się instalacja, ale nie musisz reinstalować SQL-a! Problem da się załatwić jedną komendą:
mofcomp „c:\Program Files (x86)\Microsoft SQL Server\100\Shared\sqlmgmproviderxpsp2up.mof”
Plik sqlmgmproviderxpsp2up.mof może się znajdować również w innym katalogu, w zależności od wersji SQL.
By Rafał Kraik in SQL

Powershell: Naprawa dziedziczenia uprawnień z folderu nadrzędnego

2013-11-21

W powershell trzeba nadać uprawnienie do katalogu. Niestety niektóre podkatalogi mają wyłączone dziedziczenie. W jaki sposób naprawić dziedziczenie uprawnień z folderów nadrzędnych, jak je zresetować? Oto propozycja:

Function FixInheritance([string] $Directory)
{
   $AllFiles = Get-ChildItem -Recurse -Force $Directory
   ForEach ($File in $AllFiles)
   {

      #Pobierz uprawnienia bieżącego pliku/folderu
      $acl = get-acl $File.FullName
      #Zmien ustawienia dziedziczenia
      $acl.SetAccessRuleProtection($false, $false);
      #Zapisz uprawnienia dla pliku
      set-acl -aclobject $acl $File.FullName
      #Kropka jako pasek postępu
      Write-Host "." -NoNewline
   }
   Write-Host
 } Czytaj dalej »
By Rafał Kraik in Power Shell

C# Jaka metoda wywołała bieżącą metodę?

2013-11-03

Jeżeli potrzebujesz dowiedzieć się, jaka metoda wywołała bieżącą metodę posłuż się poniższym kodem:

using System.Diagnostics;

private void Logger()

{

StackFrame stackFrame = new StackFrame(1);
string parentMethodName=stackFrame.GetMethod().Name;
MessageBox.Show(parentMethodName);

}

PowerShell wykonanie komendy SQL np założenie nowego loginu

2013-10-31

Jest to metoda bardziej przyjazna dla programisty .NET.

  1. Tworzysz SQL Connection i inicjujesz je Connection String
  2. Otwierasz połączenie
  3. Tworzysz obiekt SQLCommand, który wykonuje zapytanie we wcześniej przygotowanym połączeniu.

Ja wykorzystałem tensposób połączenia do tworzenia loginów, ale można tak np. wykonywać INSERTY itp. Czytaj dalej »

By Rafał Kraik in Power Shell