|| 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
write-host "Dies ist ein Text" -F Red
write-host "Dies ist ein Text" -F Yellow
|| 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)
|| 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
|| Beitrag erstellt von: develop am 19. August ||
PowerShell - Funktionen aufrufen
function global:schreib-alle
{
schreib-2 ;
schreib-3 ;
schreib-4 ;
}
{
schreib-2 ;
schreib-3 ;
schreib-4 ;
}
function global:schreib-2
{
write-host "Test2";
}
{
write-host "Test2";
}
function global:schreib-3
{
write-host "Test3";
}
{
write-host "Test3";
}
function global:schreib-4
{
write-host "Test4";
}
{
write-host "Test4";
}
|| 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");
|| 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
|| 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
|| 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");