前言
因為某家客戶掃了tenable的弱點掃描,紀錄一下處理方法
問
Terminal Services Doesn't Use Network Level Authentication (NLA) Only
終端服務不僅使用網絡級別身份驗證(NLA)
解
檔案總管>本機>空白處右鍵>內容>遠端設定
開啟系統內容>遠端
遠端桌面選項選擇"允許遠端連線到此電腦"
勾選"僅允許來自執行含有網路層級驗證之遠端桌面的電腦進行連線"
2018年11月5日 星期一
[tenable] SMB Signing not required
前言
因為某家客戶掃了tenable的弱點掃描,紀錄一下處理方法
問
SMB Signing not required(不需要SMB簽名)
解
執行>gpedit.msc
開啟"本機群組原則編輯器"
電腦設定>Windows設定>安全性設定>本機原則>安全性選項
Microsoft 網路伺服器:數位簽章伺服器的通訊(自動) 啟用
因為某家客戶掃了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發現了這段指令
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
在一個匯入中想取得流水號並且逐筆加一的情況下
單純使用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
某客戶要求我所有的換版指令只能使用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啟動
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
寫在外層
<Styles Header-HorizontalAlign="Center" Cell-HorizontalAlign="Center" />
單行執行
<dx:GridViewDataDateColumn FieldName="XXX" VisibleIndex="1" Caption="XXX"
CellStyle-HorizontalAlign="Center"
HeaderStyle-HorizontalAlign="Center" />
標頭 >Header
至中>Center
至左>Left
至右>Right
2018年1月30日 星期二
[WCF] HTTP 狀態 413 : Request Entity Too Large
2018年1月29日 星期一
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
bat檔可以直接複製以下訊息
其中可以代換dir這行變更需要的清單類型
@echo off
dir /b /on >list.txt
產生目前資料夾檔案(單層)
dir >list.txt
產生目前資料夾以下所有的檔案(多層)
dir /b /on >list.txt
產生資料夾清單
dir /a:d /b /on >list.txt
訂閱:
文章 (Atom)