SQLite> DELETE FROM SQLITE_SEQUENCE WHERE NAME='table_name';
無料版のMicrosoft Teamsのリモート操作でサーバーをメンテナンス
前回、紹介させて頂きました、「無料版のMicrosoft TeamsでゲストユーザとWeb会議をする方法」の応用例です。
在宅勤務や、出張自粛が励行される中でも、お客さんのサーバをメンテする必要がでることもあると思います。
また、サーバのメンテにおいては、サーバー室に出入りせずに、リモートデスクトップで行うケースも多いと思います。
今回は、Microsoft Teamsと、リモートデスクトップを活用して、リモートでサーバメンテを実施する方法についてです。
接続のイメージは以下のとおりです。
厳選Windowsショートカット集
日本語入力(Microsoft IME)のショートカット
変換操作 | ショートカットキー | 代替キー |
---|---|---|
ひらがなに変換 | 「Ctrl + U」 | F6 |
全角カタカナに変換 | 「Ctrl + I」 | F7 |
半角に変換 | 「Ctrl + O」 | F8 |
全角英数に変換 | 「Ctrl + P」 | F9 |
半角英数に変換 | 「Ctrl + T」 | F10 |
C#でファイルの拡張プロパティを取得/編集する方法
- NuGetでWindowsAPICodePack-Shellをインストール。
- 以下のコードで取得/編集ができる。
using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack.Shell.PropertySystem;
public void FilePropertiesTest() {
var file = ShellFile.FromFilePath(@"C:\Temp\test.jpg");
//拡張プロパティ取得
Console.WriteLine(file.Properties.System.Title.Value);
Console.WriteLine(file.Properties.System.Author.Value);
Console.WriteLine(file.Properties.System.Comment.Value);
//拡張プロパティセット
ShellPropertyWriter propertyWriter = file.Properties.GetPropertyWriter();
propertyWriter.WriteProperty(SystemProperties.System.Title, new string[] { "タイトル" });
propertyWriter.WriteProperty(SystemProperties.System.Author, new string[] { "著者" });
propertyWriter.WriteProperty(SystemProperties.System.Comment, new string[] { "コメント" });
propertyWriter.Close();
}
Outlookで送信前に宛先確認ダイアログを表示する方法
Outlookで送信前に宛先確認ダイアログを表示する方法
- Alt + F11を押して、VBAエディタを表示。
- 以下のスクリプトをThisOutlookSessionに記述してください。
- Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
- '件名未記入の確認
- If Item.Subject = "" Then
- If MsgBox("このメッセージには件名がありません。" & vbCrLf & _
- "[OK] をクリックすると送信します。", vbOKCancel + vbExclamation + vbMsgBoxSetForeground) = vbCancel Then
- Cancel = True
- Item.GetInspector.Activate
- Exit Sub
- End If
- End If
- '送信確認ダイアログ
- If MsgBox("宛先、添付ファイル、文面を再度確認してください。" & vbCrLf & _
- "送信しますか?", vbOKCancel + vbQuestion + vbMsgBoxSetForeground) = vbCancel Then
- Cancel = True
- Item.GetInspector.Activate
- Exit Sub
- End If
- End Sub
C#でEveryoneフルコントロール権限を付与
Everyoneフルコントロール権限を付与
public class ExchangeUtil : PublicWebApiUtil {
/// Everyoneフルコントロール権限を付与
/// 処理対象パス
public static void AddFullControleRule(string filePath) {
//EveryOneFullControle
var rule = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl,
InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow);
//ファイルセキュリティオブジェクトを取得
FileSecurity security = File.GetAccessControl(filePath);
//権限付与
security.AddAccessRule(rule);
//変更したファイルセキュリティをファイルに設定
File.SetAccessControl(filePath, security);
}
}
C#でファイルがロックされているかどうか判定
ファイルがロックされているかどうか判定
- public class ExchangeUtil : PublicWebApiUtil {
- /// ファイルが開かれてロックされているかどうか
- ///
true:ロックされている/false:されていない - public static bool IsFileLocked(string path) {
- FileStream stream = null;
- if (!File.Exists(path)) {
- return false;
- }
- try {
- stream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
- } catch {
- return true;
- }
- finally {
- if (stream != null) {
- stream.Close();
- }
- }
- return false;
- }
- }
C#でISO8601形式の継続時間文字列をTimeSpanに変換
ISO8601形式の継続時間文字列をTimeSpanに変換
- public class ExchangeUtil : PublicWebApiUtil {
- ///
/// ISO8601形式の文字列をTimeSpanに変換します。 /// - /// ISO8601形式の文字列
- ///
- public static TimeSpan Iso8601ToTimeSpan(string iso8601) {
- if (iso8601 == null || iso8601 == "") {
- //0秒で返す。
- return new TimeSpan(0, 0, 0);
- }
- TimeSpan? ret = null;
- int index = iso8601.IndexOf("D");
- if (index > 0) {
- //日付部("P1D")が存在する場合
- string strDays = iso8601.Substring(0, index);
- TimeSpan days = new TimeSpan(int.Parse(strDays.Replace("P", "")), 0, 0, 0);
- ret = days;
- //時間部が存在する場合
- index = iso8601.IndexOf("DT");
- if (index > 0) {
- TimeSpan other = XmlConvert.ToTimeSpan("PT" + iso8601.Substring(index + 2));
- ret = days.Add(other);
- }
- } else {
- ret = XmlConvert.ToTimeSpan(iso8601.Replace("P", "PT"));
- }
- return new TimeSpan(ret.Value.Days, ret.Value.Hours, ret.Value.Minutes, 0);
- }
- }
登録:
投稿 (Atom)
厳選 Visual Studioの便利なショートカット
エラー箇所にジャンプ 「Ctrl + Shift + F12」 ブレークポイント 設定/解除 「F9」 有効化/無効化 「Ctrl + F9」 ViEmu特有 「:ls」:バッファナンバーのリストを表示。 「:b2」:バッファ2のファイルを開く。 「:n」:次のバッファのファ...
-
以下のSampleのとおり、ReadJEnc.JP.GetEncoding()メソッドで文字コードを自動判定することができます。 実装例 public void DetectingEncodeTest() { var path = @"C:\Te...
-
最近、無償提供されたMicrosoft Teamsにプログラムからメッセージ投稿してみたいと思い、実装してみた。 システム監視、センサなどから情報投稿など、いろいろ利用できそう。 まずは、Microsoft TeamsのIncoming Webhook APIのURLを...
-
ファイルがロックされているかどうか判定 public class ExchangeUtil : PublicWebApiUtil { /// ファイルが開かれてロックされているかどうか /// true:ロックされている/false:されていない p...