ConnectionStrings
Wenn man mal wieder auf der Suche nach einem ConnectionString ist:
ConnectionStrings.com – Forgot that connection string? Get it here!
Wenn man mal wieder auf der Suche nach einem ConnectionString ist:
ConnectionStrings.com – Forgot that connection string? Get it here!
Wirklich praktisch ist die Möglichkeit, dass man rsync mittels Cygwin auch unter Windows nutzen kann. Allerdings hat dies den Nachteil, dass man zunächst eine vollständige Cygwin Installation vornehmen muss. Einfacher geht dies mittels der folgenden Lösung: rsync für Windows.
Das Paket muss entpackt werden, die vorhandene cmd-Datei an die eigenen Gegebenheiten angepasst und schon kann man auf eine einfache Weise “Backups” von Dateien erstellen.
Nur für den Fall, dass die eigentliche Herkunftsseite offline gehen sollte, habe ich das Paket von dort hier auch hochgeladen.
rsync.zip
Die PsTools sind eine sehr gute Hilfe, wenn man bestimmte Dinge automatisieren, vereinfachen und weiteres möchte. Gerade für mich im Einsatz ist PsExec mit dem man auf einem Remotesystem einen Befehl ausführen kann.
Wenn man die genaue Version des MSSQL Server ermitteln will, kann man dafür das folgende Statement verwenden.
SELECT
SERVERPROPERTY ('productversion'),
SERVERPROPERTY ('productlevel'),
SERVERPROPERTY ('edition')
Eine Übersicht über alle Versionen findet man hier: How to determine the version and edition of SQL Server and its components
Will man unter Windows einen Dienst/Prozess bspw. mittels einer Batchdatei beenden kann man dies mittels dem Kommandozeilenprogramm »taskkill.exe« erledigen. Das Programm an sich ist sehr einfach zu verwenden. Ein großer Vorteil ist, dass man auch Kombinationen wie bspw. den Prozessnamen und den ausführenden Benutzer prüfen kann. Sinnvoll ist das z.B. wenn man einen Prozess mehrfach ausführt aber unter verschiedenen Benutzeraccounts.
taskkill /F /IM process.exe /FI "USERNAME eq serviceaccount-user"
Als Filter (Schalter »/FI«) kann man verschiedene Parameter verwenden, wie man der folgenden Aufstellung entnehmen kann.
Filtername Gültige Operatoren Gültige Werte
---------- ------------------ -------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne Abbildname
PID eq, ne, gt, lt, ge, le Prozesskennungswert
SESSION eq, ne, gt, lt, ge, le Sitzungsnummer
CPUTIME eq, ne, gt, lt, ge, le CPU-Zeit im Format:
hh:mm:ss.
hh - Stunden,
mm - Minuten, ss - Sekunden
MEMUSAGE eq, ne, gt, lt, ge, le Speicherverwendung (KB)
USERNAME eq, ne Benutzername im Format:
[Domäne]\Benutzername
MODULES eq, ne DLL-Name
SERVICES eq, ne Dienstname
WINDOWTITLE eq, ne FenstertitelIm Standard wird unter Windows 7 der Dialog beim Herunterfahren nicht angezeigt, in dem man einen Grund angeben muss, warum der Rechner heruntergefahren wird. Viele werden diesen Dialog von Windows Server Betriebssystemen kennen. Will man diesen auch unter Windows 7 anzeigen, so ist dies ganz einfach zu realisieren.
Bei dieser Einstellung handelt es sich um eine lokale Gruppenrichtlinie, die über den Gruppenrichtlinien-Editor verändert werden kann. Hierzu ruft man »gpedit.msc« auf.
Im Gruppenrichtlinien-Editor muss man die Einstellung »Ereignisprotokollierung für Herunterfahren anzeigen« auf »Aktiviert« ändern.
Beim nächsten Versuch den Computer herunterzufahren wird der entsprechende Dialog anzeigt.
Will man, wie hier beschrieben, eine E-Mail verschicken und dies an mehrere Empfänger, so kann man diese auch in einer “externen” Datei ablegen. Sinnvoll ist dies bspw. wenn ein Script im Fehlerfall bestimmte Empfänger benachrichtigen soll und man diese Empfänger nicht codiert im PowerShell Skript hinterlegen will.
Zu diesem Zweck legt man die E-Mail Adressen der Empfänger einfach zeilenweise in einer Textdatei ab und lässt diese dann vom PowerShell Skript einlesen und übergibt das Ergebnis an den Send-MailMessage Befehl.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $i = 1; $Recip = ""; $RecipientFile = (Get-Content C:\Temp\test.txt); foreach ($Recipient in $RecipientFile) { if ($i -gt 1) { $Recip = $Recip + "," } $Recip = $Recip + $Recipient $i++; } $Recip = $Recip.TrimEnd(); $toAddress = $Recip.Split(",") Send-MailMessage -To $toAddress -From sender@example.com -Subject MultipleRecipients -SmtpServer smtp@example.com |
Will man mittels PowerShell eine E-Mail versenden, so kann man hierfür die eingebaute Funktion »Send-MailMessage« verwenden. Will man hierbei auch Sonderzeichen im Text der Email verwenden, so muss man die Option »-Encoding« anhängen und den Zeichensatz UTF8 definieren. Ein einfaches Beispiel hierfür sieht wie folgt aus.
Send-MailMessage -Body 'Ein paar Sonderzeichen: äöüß' -Encoding ([System.Text.Encoding]::UTF8) -To receipient@example.com -From sender@example.com -SmtpServer smtp@example.com -Subject TestSubject
Muss man weitere Parameter übergeben, wie bspw. eine Authentifizierung gegenüber dem SMTP-Server, so findet man diese bei Microsoft im TechNet.
Wenn man in Visual Studio mehrere Projekte in einer Projektmappe hat, so hat man das Problem, dass immer nur ein Projekt als Startprojekt definiert sein kann. Dies hat zur Folge, dass, auch wenn man eine Datei eines anderen Projekts bearbeitet, bei Ausführung über »Debuggen starten« immer das aktuell definierte Startprojekt gestartet wird.
Genau aus diesem Grund wäre es schön, wenn es eine Möglichkeit gibt, mit der man immer das Projekt starten kann, in dem man auch gerade eine Datei bearbeitet.
Genau für diesen Zweck muss man einfach einen neuen Shortcut in Visual Studio definieren. Der entsprechende Eintrag in den Optionen heißt »KlassenansichtKontextmenüs.KlassenansichtProjekt.Debuggen.NeueInstanzstarten«, wie man auch im folgenden Screenshot sehen kann.
In meinem vorliegenden Beispiel habe ich hierfür einfach den Shortcut »Strg + Umschalt + Alt + F5« gesetzt. Somit kann ich immer das Projekt starten, in dem ich gerade eine Datei editiere. Unschön hierbei ist, dass wenn man ein Klassenbibliothek bearbeitet, man diese natürlich nicht ausführen kann. Somit passiert nichts bzw. man erhält dann eine Fehlermeldung , dass eine Klassenbibliothek nicht direkt ausgeführt werden.
Hierfür gibt es auch noch eine Lösung. Diese ist allerdings nur mittels eines Makro zu realisieren. Mir persönlich zu aufwendig aber vielleicht für den oder anderen dennoch interessant. Daher hier der Link zur Lösung: Visual Studio -> Debug – Start new instance shortcut
Der obige Titel trifft es relativ genau, zumindest aktuell, wenn man über die deutsche bzw. teilweise auch die internationale Politik nachdenkt.
Konkret geht es darum, dass ich durch Zufall gerade gesehen habe, dass es wieder eine Petition zum “Verbot der Vorratsdatenspeicherung vom 15.03.2011″ gibt.
Hierzu gibt es auch eine Meldung bei heise.de, aber in den Massenmedien hat man hierzu leider in den letzten Tagen gar nichts gefunden. Der Artikel auf heise.de fasst schon relativ gut zusammen, um was es inhaltlich geht, darum spare ich mir eine erneute Zusammenfassung an dieser Stelle.
Jeder mag seine eigene Meinung zur Vorratsdatenspeicherung haben aber ich kann es nicht gutheißen, dass die gesamte Bevölkerung unter Generalverdacht gestellt wird und jegliche Kommunikation bzw. deren Verbindungsdaten aufgezeichnet wird.
Ich kann daher nur dazu aufrufen, diese Petition auch zu unterzeichnen und so den Politkern deutlich zu machen, dass den Bürgern in diesem Land eben doch nicht alles völlig egal ist, wie vielleicht mancher Politiker durchaus glauben mag.