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...