|| Thema: PowerShell || Titel: PowerShell - Schriftfarbe ||
|| Beitrag erstellt von: develop am 15. Dezember ||

PowerShell - Schriftfarbe
write-host "Dies ist ein Text" -F Green
write-host "Dies ist ein Text" -F Red
write-host "Dies ist ein Text" -F Yellow




|| Thema: PowerShell || Titel: Powershell - Menüs erzeugen ||
|| Beitrag erstellt von: develop am 10. September ||

Powershell - Menüs erzeugen

do
{
clear-host

$menu =
@("Menu",
"-----",
"[1] Start all Virtual Machines",
"[2] Stop all Virtual Machines",
"[3] Start all Routers",
"[4] Stop all Routers",
"[5] Start all Servers",
"[6] Stop all Servers",
"[7] Start a specific machine",
"[8] Stop a specific machine",
"[0] Exit"
)

for ($i = 0; $i -le $menu.count; $i++)
{
write-host -foregroundcolor yellow $menu[$i]
}
[int]$prompt = Read-Host "what do you want to do?: "


# Reaktion auf Benutzereingaben:

switch ($prompt)
{
1
{
Code...
}
2
{
Code...
}
..
{
...
}
0
{
write-host "good bye...`n"
break;
}

} while (!$prompt -eq 0)




|| Thema: PowerShell || Titel: PowerShell - Parameter übergeben ||
|| Beitrag erstellt von: develop am 19. August ||

PowerShell - Parameter übergeben

function global:Schreib-Para
{
param($text="");
write-host $text;
}


um die Funktion aufzurufen und ihr den Parameter zu übergeben, geben wir folgendes in der Eingabeaufforderung oder im Script ein:

Schreib-Para -text IchBinDerVariablenInhalt

oder wenn man die Reihenfolge der Parameter kennt, kann man sie auch ohne -text übergeben, also

Schreib-Para IchBinDerVariablenInhalt




|| Thema: PowerShell || Titel: PowerShell - Funktionen aufrufen ||
|| Beitrag erstellt von: develop am 19. August ||

PowerShell - Funktionen aufrufen

function global:schreib-alle
{
schreib-2 ;
schreib-3 ;
schreib-4 ;
}

function global:schreib-2
{
write-host "Test2";
}

function global:schreib-3
{
write-host "Test3";
}

function global:schreib-4
{
write-host "Test4";
}




|| Thema: PowerShell || Titel: PowerShell - Upload File to FTP Server ||
|| Beitrag erstellt von: develop am 14. August ||

PowerShell - Upload File to FTP Server


Write-Host "Upload File 1"

$web = new-object -typename Net.WebClient

$web.Credentials("username","mypasswort");

$web.UploadFile("ftp://ftp.account.de/myfolder/","c:\myfolder\myfile.txt");




|| Thema: PowerShell || Titel: PowerShell - Grundkenntnisse ||
|| Beitrag erstellt von: develop am 14. August ||

PowerShell - Grundkenntnisse

1. CMD erstellen
@echo off
powershell /noexit .\meinfile.ps1


2. meinfile.ps1 erstellen

Syntax - Kommentare in PowerShell
# Ich bin ein Kommentar

# Scriptausführung erlauben
set-executionpolicy
Execution Policy
set-executionpolicy Remotesigned

Execution policy
  • Unrestricted
  • Alle Scripts dürfen uneingeschränkt ausgeführt werden
  • RemoteSigned
  • Nur lokal geschriebene Scripts dürfen ausgeführt werden, alle anderen müssen signiert werden. (siehe Get-Help about_signing)
  • AllSigned
  • Ausschließlich signierte Scripts dürfen ausgeführt werden
  • Restricted
  • KEIN Script darf ausgeführt werden (Grundeinstellung)

Syntax - Variablen
$all = Test-Path c:\test.txt

Syntax - Arrays
$array = @("value1", "value2", "value3")

Syntax - If Abfragen
if ($all -eq $false)

{
# File nicht vorhanden
}

else
{
# File vorhanden
}

Syntax - Schleifen
  • foreach

    $dir = Get-Childitem irgend ein Verzeichnis

    foreach ($i in $dir)
    {
    Write-Host $i
    }
     
  • for

    $array = @("A", "B", "C", "D")

    for ($i = 0; $i -le $array.count; $i++)
    {
    Write-Host $array[$i]
    }
     
  • do-while

    do
    {
    [Int]$input = Read-Host "Geben Sie eine Zahl ein: (Zum Beenden 0 drücken)"

    } while (! $input -eq 0)


Syntax - Textausgabe
Write-Host "Text ausgabe"
Write-Host "`n - ist ein Zeilenumbruch"


Syntax - Funktionen
function global:Write-Text
{

# ich bin eine Funktion
# und nun kommt ein parameter
param($text="")

Write-Host $text

}



Download:
http://www.microsoft.com/downloadS/details.aspx?familyid=60DEAC2B-975B-41E6-9FA0-C2FD6AA6BC89&displaylang=en




|| Thema: PowerShell || Titel: PowerShell - Email verschicken ||
|| Beitrag erstellt von: develop am 14. August ||

PowerShell - Email verschicken

function global:sendmails

{
param($From, $To, $Subject, $Body)


$SmtpClient = New-Object System.Net.Mail.SmtpClient
$SmtpClient.host = "smtpmailaccout.de"
$SmtpClient.Send($Form, $To, $Subject, $Body)
}


Aufzurufen:

sendmails -From me@email.com -To myfriend@email.com -Subject AnEmail -Body WhatIHaveToSay




|| Thema: PowerShell || Titel: PowerShell - File Downloaden ||
|| Beitrag erstellt von: develop am 14. August ||

PowerShell - File Downloaden

#Write-Host "Download File 1"
$web = new-object -typename Net.WebClient

$web.DownloadFile("http://GewünschteAdresse.de/datei.exe", "c:\MeinOrdner\datei.exe");