Porównane wersje

Klucz

  • Te wersy zostały dodane. Tosłowo zostało dodane.
  • Te wersy zostały usunięte. To słowo zostało usunięte.
  • Formatowanie zostało zmienione.

...

Rozwiń
titleArchiwizacja profilu użytkownika Windows

Założenia

Skrypt pozwala na archiwizację wybranego profilu użytkownika. Archiwizacja polega na skompresowaniu profilu użytkownika zgodnie z zadanym filtrem, oraz umieszczenie go w określonej lokalizacji (również sieciowej)

Parametry domyślne: 

-userLogin -destinationDir

Treść skryptu

Blok Kodu
param([Parameter(Mandatory=$true)][string]$userLogin, [Parameter(Mandatory=$true)][string]$destinationDir ,[string]$filter = "(name = *.*)", [switch]$skipOnError)
# Skrypt archiwizujący profil użytkownika
# umożliwia skompresowanie profilu użytkownika zgodnie z zadanym filtrem,
# oraz umieszczenie go w określonej lokalizacji (również sieciowej)
# Parametry:
# -userLogin - nazwa użytkownika w postaci: login , lub DOMENA\login
# -destinationDir - katalog docelowy np. c:\ , lub \\192.168.1.1\backups
# -filter - filtr określający jakie pliki mają być achiwizowane (domyślnie wszystkie)
#           szczegóły http://dotnetzip.herobo.com/DNZHelp/html/4469abe7-8fa4-101e-975d-305d2fd0affb.htm
#           np. "(name != *.mp3) and (name != *.avi)" - wyklucza pliki mp3 i avi
# -skipOnError - pomiń pliki, których nie można dodać
$a = [System.Reflection.Assembly]::LoadFrom([System.AppDomain]::CurrentDomain.BaseDirectory + "ext\Ionic.Zip.dll");
try
{
    $ob = New-Object System.Security.Principal.NTAccount($userLogin)
    $sid = $ob.Translate([System.Security.Principal.SecurityIdentifier])
}
catch
{
     Write-Error "Unable to find user $userLogin"
     exit -2
}
$regPath = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\' + $sid
$path = (Get-ItemProperty  -path $regPath).profileImagePath
$zipFile = $destinationDir + "\" +$userLogin.Replace('\','.') + (Get-Date).ToShortDateString() + ".zip"
"Writing $path to $zipFile"
try
{
    $strWriter = new-object System.IO.StringWriter
    $zip = new-object Ionic.Zip.ZipFile
    $zip.UseZip64WhenSaving = [Ionic.Zip.Zip64Option]::AsNecessary
    if ($skipOnError)
    {
        $zip.StatusMessageTextWriter = $strWriter
        $zip.ZipErrorAction = [Ionic.Zip.ZipErrorAction]::Skip
    }
     
    $zip.AddSelectedFiles($filter, $path,"",$true)
    $zip.Save($zipFile)
}
finally
{
    [System.Text.RegularExpressions.Regex]::Replace($strWriter.ToString(), "^adding.*$[\r\n]*", [String]::Empty, [System.Text.RegularExpressions.RegexOptions]::Multiline)
    $zip.Dispose()
}

Parametry:

  • Wymagane:

    • userLogin - nazwa użytkownika w postaci: login, lub DOMENA\login,

    • destinationDir - katalog docelowy np. c:\ , lub \\192.168.1.1\backups,

  • Opcjonalne:

    • filter - filtr określający jakie pliki mają być achiwizowane (domyślnie wszystkie) np. "(name != *.mp3) and (name != *.avi)" - wyklucza pliki z rozszerzeniem mp3 i avi,

    • skipOnError - pomiń pliki, których nie można dodać.

Rozwiń
titleCzyszczenie katalogów tymczasowych wszystkich użytkowników systemu Windows

Rozwiń

Rozwiń
titleDefragmentacja dysku

Rozwiń
Rozwiń
titleDodanie komputera do domeny

Rozwiń
titleOdinstalowanie wybranego oprogramowania

Rozwiń
titleOdświeżenie adresu IP (DHCP)

Rozwiń
titleOdświeżenie buforu rozpoznawania nazw DNS

Rozwiń
titleOdświeżenie zasad zabezpieczeń lokalnych/AD

Rozwiń
titleSprawdzenie konfiguracji wybranej usługi systemu Windows

Rozwiń
titleUsunięcie konta użytkownika w systemie Windows

Rozwiń
titleUsunięcie wybranego katalogu wraz z jego zawartością

Rozwiń
titleWykonanie restartu wybranej usługi w systemie Windows

Rozwiń
titleWykonanie wyłączenie, restartu lub hibernacji komputera

Rozwiń
titleWykonanie zmiany adresu IP komputera

Rozwiń
titleWykonanie zmiany opisu komputera

Rozwiń
titleWyświetlenie danej poprawki Windows

Rozwiń
titleWyświetlenie informacji o systemie Windows

Rozwiń
titleWyświetlenie listy oprogramowania w systemie Windows

Rozwiń
titleWyświetlenie listy procesów systemu Windows

Rozwiń
titleWyświetlenie listy zainstalowanych poprawek Windows

Rozwiń
titleZakończenie wybranego procesu Windows

Rozwiń
titleZarządzanie usługą PowerShell