2018年11月5日 星期一

[tenable] Terminal Services Doesn't Use Network Level Authentication (NLA) Only

前言
因為某家客戶掃了tenable的弱點掃描,紀錄一下處理方法



Terminal Services Doesn't Use Network Level Authentication (NLA) Only
終端服務不僅使用網絡級別身份驗證(NLA)



檔案總管>本機>空白處右鍵>內容>遠端設定
開啟系統內容>遠端
遠端桌面選項選擇"允許遠端連線到此電腦"
勾選"僅允許來自執行含有網路層級驗證之遠端桌面的電腦進行連線"

[tenable] SMB Signing not required

前言
因為某家客戶掃了tenable的弱點掃描,紀錄一下處理方法



SMB Signing not required(不需要SMB簽名)



執行>gpedit.msc
開啟"本機群組原則編輯器"

電腦設定>Windows設定>安全性設定>本機原則>安全性選項
Microsoft 網路伺服器:數位簽章伺服器的通訊(自動) 啟用

2018年8月1日 星期三

[SQL] 備份檔刪除 多資料夾執行

前言

因為同時有多個資料庫備份檔分別放在不同資料夾
設定清除工作一直找不到一個好的設定方式(沒辦法同時搜尋多個資料夾)
所以我點進去檢視T-SQL發現了這段指令

EXECUTE master.dbo.xp_delete_file
0 --刪除備份檔案
,N'D:\SQLBak' --檢查路徑
,N'bak' --副檔名(千萬不可以打.bak,會刪不掉)
,N'2018-07-30T10:33:57'--早於這個時間點
,0--是否含子資料夾刪除,不打預設為0

用法

將指令做成一份設定好各個路徑的指令,再使用執行T-SQL陳述式執行

declare @Date Datetime =GetDate()-5
EXECUTE master.dbo.xp_delete_file 0,N'D:\SQLBak\AA',N'bak',@Date
EXECUTE master.dbo.xp_delete_file 0,N'D:\SQLBak\BB',N'bak',@Date
EXECUTE master.dbo.xp_delete_file 0,N'D:\SQLBak\CC',N'bak',@Date
EXECUTE master.dbo.xp_delete_file 0,N'D:\SQLBak\DD',N'bak',@Date

2018年7月11日 星期三

[SQL] FETCH 應用

前言

在一個匯入中想取得流水號並且逐筆加一的情況下
單純使用Insert 時取得的流水號皆為同一組
原因為SQL執行一批資料時取得的最大值皆會是同一個
意思就是進行一批資料的Insert時並不是一筆一筆進入資料庫的
update 同理
所以來試試FETCH吧~


用法

Declare @SN int
DECLARE PDAgreeSN CURSOR FOR --建立FETCH、取得Key值
select SN from aa_Bee2

OPEN PDAgreeSN;--開啟FETCH
FETCH NEXT FROM PDAgreeSN --塞入第一筆數值
INTO @SN;
WHILE @@FETCH_STATUS = 0 --FETCH成功則繼續
BEGIN
--取到SN了想幹嘛就幹嘛
update aa_Bee2 set PDAgreeSN=dbo.GetPDSN(30030,GETDATE()) --取流水號的某個FN
where SN=@SN

FETCH NEXT FROM PDAgreeSN --塞入下筆數值
INTO  @SN;
END
CLOSE PDAgreeSN; --關閉FETCH
DEALLOCATE PDAgreeSN; --刪除FETCH

2018年7月8日 星期日

[CMD] 取得日期

前言

某客戶要求我所有的換版指令只能使用bat檔執行
簡單來說他想要一鍵執行換版
在現場執行時我原本以為我指令寫得很完美了
結果沒想到因為產生資料夾時使用%Date%參數
在對方Server的日期排列跟我電腦不同
YYYY-MM-DD>MM-DD-YYYY
之類的所以正常用%date:~0,4%
很容易抓歪,或著抓到空白造成產檔問題
造成產生檔名時有空白,無法順利執行指令

正文

運用%Date% 與%Time%
取代掉不符合檔名原則之字元

//指令
set dt=%Date%_%Time%

set dt=%dt: =%
set dt=%dt:/=%
set dt=%dt::=%
set dt=%dt:.=%

echo %dt%

//產出
set dt=2020/04/25 週六_15:45:17.27
set dt=2020/04/25週六_15:45:17.27
set dt=20200425週六_15:45:17.27
set dt=20200425週六_154517.27
set dt=20200425週六_15451727
echo 20200425週六_15451727

2018年5月28日 星期一

[SQL] 使用者群組或角色在XXX的目前資料庫中已經存在



exec sp_change_users_login 'Update_One','XXX','XXX'

詳解sp_change_users_login參數
https://docs.microsoft.com/zh-tw/sql/relational-databases/system-stored-procedures/sp-change-users-login-transact-sql?view=sql-server-2017

查詢被遺棄的使用者
SELECT dp.type_desc, dp.SID, dp.name AS user_name 
FROM sys.database_principals AS dp 
LEFT JOIN sys.server_principals AS sp 
    ON dp.SID = sp.SID 
WHERE sp.SID IS NULL 
    AND authentication_type_desc = 'INSTANCE'; 



[SQL] Agent XPs 無法建立維護計畫

在新增維護計畫時遇到此訊息


Agent XPs 元件已經由此伺服器的安全性組態關閉




sp_configure 'show advanced options', 1;  GO  RECONFIGURE;  GO  sp_configure 'Agent XPs', 1;  GO  RECONFIGURE  GO


執行後出現以下訊息代表成功開啟

組態選項 'show advanced options' 從 0 變更為 1。請執行 RECONFIGURE 陳述式來安裝。


組態選項 'Agent XPs' 從 0 變更為 1。請執行 RECONFIGURE 陳述式來安裝。


參考文獻>

https://docs.microsoft.com/zh-tw/sql/database-engine/configure-windows/agent-xps-server-configuration-option?view=sql-server-2017



再來還會遇到這個問題

SQLServerAgent 目前不在執行中,因此無法通知它這個動作。 (Microsoft SQL Server, 錯誤: 22022)



開始 → 系統管理工具 → 服務 → SQL Agent啟動

2018年5月25日 星期五

[DevExpress] ASPxGridView 內容 標頭 至中、至左、至右

ASPxGridView

寫在外層
<Styles Header-HorizontalAlign="Center" Cell-HorizontalAlign="Center" />

單行執行
<dx:GridViewDataDateColumn FieldName="XXX" VisibleIndex="1" Caption="XXX"
CellStyle-HorizontalAlign="Center"
HeaderStyle-HorizontalAlign="Center" />


標頭 >Header

內容>Cell

至中>Center

至左>Left

至右>Right

2018年1月30日 星期二

[WCF] HTTP 狀態 413 : Request Entity Too Large


錯誤訊息
System.Net.WebException: 要求失敗,HTTP 狀態 413 : Request Entity Too Large。


解法


1.開啟Web.Connfing
2.找到basicHttpBinding區段
3.加入<binding maxReceivedMessageSize="10485760"></binding>


2018年1月29日 星期一

[WebService]WebServiceStudio 測試工具



WebServiceStudio



1.輸入WebService 網址 按下Get
2.顯示可用之服務
3.顯示傳入參數
4.輸入參數
5.按下Invoke
6.顯示執行結果

2018年1月23日 星期二

[DevExpress] ASPxGridView 參數設定




<Settings/>

顯示總計結果
ShowFooter="True"


<SettingsPager />

設定顯示比數位置 (上、下、上和下)
 Position=

顯示下拉頁數選項
PageSizeItemSettings-Visible="true"

搜尋類型
<SettingsSearchPanel />

開啟搜尋列
Visible="True"

自動搜尋延遲毫秒
Delay=5000(五秒)

顯示搜尋按鈕
ShowApplyButton=

總計類型
<TotalSummary>
<dx:ASPxSummaryItem FieldName="欄位" SummaryType="執行類別" DisplayFormat="{0:N0}" />



2018年1月9日 星期二

[CMD]產生資料夾清單

CMD產生清單

bat檔可以直接複製以下訊息
其中可以代換dir這行變更需要的清單類型

@echo off
dir /b /on >list.txt

產生目前資料夾檔案(單層)
dir >list.txt

產生目前資料夾以下所有的檔案(多層)
dir /b /on >list.txt


產生資料夾清單
dir /a:d /b /on >list.txt