#$SecureString=read-host -assecurestring | Sichere Eingabe des SecureStrings an der Console |
$Encrypted=convertfrom-securestring -securestring $securestring | Encrypted (für Skripting geeignet) |
0..6|%{$A[$_]=$encrypted.substring(($_ * 44),44)} | $A Array von 7 Teilen, wegen der Übersichtlichkeit $encrypted.length/7=44 |
#"`$E=`$null";$A|%{"`$E+=""$_"""} | Folgende Skriptzeilen erstellen |
$E=$null $E+="01000000d0...fc297eb0100" $E+="0000fcd684... 96300000000" $E+="0200000000...0000253b9b1" $E+="4c835c1f40...04800000a000" $E+="0000100000...c02d2784f47d" $E+="1000000065...34e88821400" $E+="00003d43c0...5f56b26949c5" | Skriptzeilen |
$SecureString=Convertto-Securestring -string $E | SecureString aus Encrypted String |
$Ptr = [System.Runtime.InteropServices .Marshal]::SecureStringToBSTR($SecureString) | Pointer darauf |
$Decoded=[System.Runtime.InteropServices .Marshal]::PtrToStringAuto($ptr) | Entschlüsselt |
Montag, Februar 22, 2010
SecureStrings und Encryption mit Powershell
In einem von aussen nicht direkt einsehbaren Speicherbereich werden SecureStrings gespeichert. Damit man diese in einem Script dastellen kann, werden Sie encrypted. Die Verschlüsselung ist an die erstellende Maschine gebunden.
dnscache (dns-client) Problem mit Outlook
Warum auch immer Outlook nach seiner Beendigung den dns-client so stört, dass nur ein Neustart des Service ein Weiterarbeiten möglich macht, die Deaktivierung des Dienstes schafft Abhilfe.
Den Status fragt man wie folgt ab:
get-service *dns* | select-object *
Den Status fragt man wie folgt ab:
get-service *dns* | select-object *
sftp und ftps
Für ftp gibt es zwei abgesicherte Varianten. Die Details stehen in Wikipedia.
1. 1und1 unterstützt SFTP. Dabei wird nur die Authentifizierung über SSH abgewickelt, der Rest der Übertragung bleibt unverschlüsselt. Im .Net Framework gibt es keine direkte SFTP Untersützung.
2. Unter Windows findet sich die Klasse [System.Net.FtpWebRequest] welche mit der Property .EnableSsl=true auch FTPS unterstützt. Es wird die gesamte ftp Verbindung verschlüsselt. Diese Version wird nicht von 1und1 unterstützt.
3. Zur Kommunikation mit 1und1 muss man passives ftp einsetzen. Das kann der Standard Windows ftp Client nicht. Alternativ einsetzbar sind z.B.: winscp.com von winscp.net oder ftps.com von www.stdnet.com/moveit.
Mit winscp.com und Powershell kann man Daten zu 1und1 halbwegs sicher per sftp übertragen:
#passwort und username sollten mit Encryption und secure-string im Script stehen
$Source="$Env:tmp\daten.txt"
$ProcPar=new-object System.Diagnostics.ProcessStartInfo
$ProcPar.FileName="C:\programme\WinSCP\winscp.com"
$ProcPar.Arguments="/passive"
$ProcPar.UseShellExecute=$false
$ProcPar.RedirectStandardInput=$true
$ProcPar.RedirectStandardOutput=$true
$ProcPar.CreateNoWindow=$true
$Proc=[diagnostics.process]::start($ProcPar)
$Proc.StandardInput.WriteLine("option batch abort")
$Proc.StandardInput.WriteLine("option confirm off")
$Open="open sftp://"+ $username +":" + $password + "@ftpserver.dom"
$Proc.StandardInput.WriteLine($Open)
$Proc.StandardInput.WriteLine("put $Source /public/")
$Proc.StandardInput.WriteLine("close")
$Proc.close()
$Proc=$null
1. 1und1 unterstützt SFTP. Dabei wird nur die Authentifizierung über SSH abgewickelt, der Rest der Übertragung bleibt unverschlüsselt. Im .Net Framework gibt es keine direkte SFTP Untersützung.
2. Unter Windows findet sich die Klasse [System.Net.FtpWebRequest] welche mit der Property .EnableSsl=true auch FTPS unterstützt. Es wird die gesamte ftp Verbindung verschlüsselt. Diese Version wird nicht von 1und1 unterstützt.
3. Zur Kommunikation mit 1und1 muss man passives ftp einsetzen. Das kann der Standard Windows ftp Client nicht. Alternativ einsetzbar sind z.B.: winscp.com von winscp.net oder ftps.com von www.stdnet.com/moveit.
Mit winscp.com und Powershell kann man Daten zu 1und1 halbwegs sicher per sftp übertragen:
#passwort und username sollten mit Encryption und secure-string im Script stehen
$Source="$Env:tmp\daten.txt"
$ProcPar=new-object System.Diagnostics.ProcessStartInfo
$ProcPar.FileName="C:\programme\WinSCP\winscp.com"
$ProcPar.Arguments="/passive"
$ProcPar.UseShellExecute=$false
$ProcPar.RedirectStandardInput=$true
$ProcPar.RedirectStandardOutput=$true
$ProcPar.CreateNoWindow=$true
$Proc=[diagnostics.process]::start($ProcPar)
$Proc.StandardInput.WriteLine("option batch abort")
$Proc.StandardInput.WriteLine("option confirm off")
$Open="open sftp://"+ $username +":" + $password + "@ftpserver.dom"
$Proc.StandardInput.WriteLine($Open)
$Proc.StandardInput.WriteLine("put $Source /public/")
$Proc.StandardInput.WriteLine("close")
$Proc.close()
$Proc=$null
Mittwoch, Februar 10, 2010
Fritz!Mini Erfahrungen
Seit etwa einem Jahr läuft ein Fritz!Mini in meinem Netzwerk. Das Gerät sieht sehr nett aus. Die Bedienung der Tastatur erscheint mir auf Dauer etwas schwergängig und unangenehm. Nach einem Jahr waren die Akkus hinüber.
Scheinbar kann das Fritz!Mini die Fritz!Box 7170 zum Neustart zwingen. Beobachtet wurde das während der Fritz!Mini Funktionen Telefon, Musik, Webradio.
Fazit, es ist ein nettes Technologiemuster, ich kann es aber auf Grund der vermuteten Beeinträchtigung des Telefonbetriebs noch nicht in einer Produktivumgebung einsetzen.
Scheinbar kann das Fritz!Mini die Fritz!Box 7170 zum Neustart zwingen. Beobachtet wurde das während der Fritz!Mini Funktionen Telefon, Musik, Webradio.
Fazit, es ist ein nettes Technologiemuster, ich kann es aber auf Grund der vermuteten Beeinträchtigung des Telefonbetriebs noch nicht in einer Produktivumgebung einsetzen.
Abonnieren
Posts (Atom)