分类目录归档:windows

windows 定时清理指定目录文件bat

eg:

删除E:\original目录下(包括子目录)所有以.png为后缀的、最后修改时间为7天前的文件

指令:

 forfiles /p E:\original /s /m *.png -d -7 /c "cmd /c del /q /f @path"

解释:

/p - 指定的路径
/s - 包括子目录
/m - 查找的文件名,支持通配符*。
/d - 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前

/c - 运行的命令行 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。

                    默认命令是 "cmd /c echo @file"。下列变量
                    可以用在命令字符串中:
                    @file    - 返回文件名。
                    @fname   - 返回不带扩展名的文件名。
                    @ext     - 只返回文件的扩展。
                    @path    - 返回文件的完整路径。
                    @relpath - 返回文件的相对路径。
                    @isdir   - 如果文件类型是目录,返回 "TRUE";
                               如果是文件,返回 "FALSE"。
                    @fsize   - 以字节为单位返回文件大小。
                    @fdate   - 返回文件上一次修改的日期。
                    @ftime   - 返回文件上一次修改的时间。

版权声明:本文为CSDN博主「pokefade」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_19983129/article/details/73127547

windows 10 远程桌面 第一次登录之前 你必须更改密码 请更新密码

MSTSC方式登录Windows 2012服务器,登录失败

问题描述

 

对于密码鉴权方式创建的Windows 2012弹性云服务器,使用初始密码以MSTSC方式登录时,登录失败,系统显示“第一次登录之前,你必须更改密码。请更新密码,或者与系统管理员或技术支持联系”。
可能原因

用户本地使用的计算机(即客户机)操作系统为Windows 10。

由于Windows 10操作系统的自身限制,不能以初始密码直接远程连接操作系统为Windows 2012的弹性云服务器。
处理方法

    方法一

    更换使用Windows 7操作系统的计算机作为客户机,远程连接操作系统为Windows 2012的弹性云服务器。

    方法二

    继续使用Windows 10 客户机远程登录,但是,需先修改弹性云服务器的初始密码。
        首次登录,以VNC方式登录操作系统为Windows 2012的弹性云服务器。
        登录成功后,按照界面提示修改弹性云服务器的密码。
        使用修改后的密码,以MSTSC方式远程登录。

    方法三

    继续使用Windows 10 客户机,并以初始密码远程登录。
        单击“开始”菜单,在“搜索程序和文件”中,输入“mstsc”。

        系统进入“远程桌面连接”界面。
        依次输入弹性IP、用户名“administrator”以及创建弹性云服务器时设置的登录密码进行连接。

        连接失败,系统提示“第一次登录之前,你必须更改密码。请更新密码,或者与系统管理员或技术支持联系”。
        单击“远程桌面连接”页面左下角的“选项”。
        在“常规”页签,单击“连接设置”栏的“另存为”,保存“.rdp”格式的远程桌面文件。
        使用Notepad++打开4中保存的远程桌面文件。
        编辑远程桌面文件,在文件的最后一行,添加如下语句并保存。

        enablecredsspsupport:i:0
        双击更新后的“.rdp”文件,打开远程桌面连接。
        单击“连接”,重新连接操作系统为Windows 2012的弹性云服务器。

windows 7/windows 2008/ Apple / ATS

配置windows7/windows 2008 支持ats
 

苹果提出的ATS强制标准:

部署服务器SSL证书,启用HTTPS加密连接。但需满足以下ATS默认的安全要求

1、ATS要求服务器必须支持传输层安全(TLS)协议1.2以上版本;

2、通讯中的加密套件配置要求支持列出的正向保密;(以下Apple官方文档列表)

3、数字证书必须使用SHA256或者更高级的签名哈希算法签名,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC算法。

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

 

DSA算法要求使用以下加密套件:

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

 

 

支持ATS标准:

1、购买苹果信任CA所颁发的证书;

2、部署https网站的web服务器也有一定要求,如下:

Apache,Nginx要求关联的openssl版本在1.0.1+,这样网站才支持TLS1.2,同时您需要对证书相关参数做一定调整:

Apache:

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

Nginx:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

Tomcat要求环境 tomcat7+和JDK1.7+,配置参考如下:

     <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
     keystoreFile="keystore/domain.jks"  keystorePass="证书密码"
               clientAuth="false" sslProtocol="TLS"
               ciphers="TLS_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_RSA_WITH_AES_128_CBC_SHA,
                        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                        TLS_RSA_WITH_AES_128_CBC_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
                        SSL_RSA_WITH_3DES_EDE_CBC_SHA,
                        TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />

IIS 要求环境 windows server 2008 R2/IIS 7+

Apple Documents:

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW57

 Requirements for Connecting Using ATS

Windows 安全通告:
https://technet.microsoft.com/en-us/library/security/3042058.aspx

Microsoft Security Advisory 3042058
https://support.microsoft.com/en-us/help/3042058/microsoft-security-advisory-update-to-default-cipher-suite-priority-order-may-12,-2015

在安装3042058之前可能需要先确定安装了: KB3020369
https://support.microsoft.com/en-us/help/3020369/april-2015-servicing-stack-update-for-windows-7-and-windows-server-2008-r2
其它相关链接
https://support.microsoft.com/en-us/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness-tool
https://help.aliyun.com/knowledge_detail/48151.html

Cipher Suites Added by the Update

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_128_GCM_SHA256

 

windows iis:

开启TLS 1.2

在Windows 2012中,缺省就已经开启了TLS 1.2,但在Windows 2008中缺省并没有开启TLS 1.2,所以需要我们通过修改注册表来启动TLS 1.2功能。

    点击“开始”—“运行”,输入 “Regedit”,点击OK.
    在注册表中寻找:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
    如果在Protocols下没有“TLS 1.2”选项,请依次新建“TLS 1.2”和“Server”项。
    新建一个DWORD值,在名称中输入“Enabled”。
    双击这个值,在数值数据中,输入“1”。

调整IIS加密套件顺序

1.    Windows 2008在命令提示符下,键入 gpedit.msc,并按 Enter 键来启动“本地组策略编辑器”。
2.    依次展开“计算机配置”、“管理模板”、“网络”,然后单击“SSL 配置设置”。
3.    在“SSL 配置设置”下,单击“SSL 密码套件顺序”设置。
4.    在“SSL 密码套件顺序”窗口中,单击“已启用”。
5.    在选项窗格中,双击以突出显示“SSL 密码套件”字段的全部内容,然后使用以下加密套件替换其内容:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Delete Recovery Partition In Windows

1. Run Command Prompt as Administrator.
2. Launch Diskpart.
3. select disk number
4. list part
5. Look for Recovery partition and note the number '#'.
6. select part '#'
7. del part override
8. exit
9. exit
10. Launch Disk Management.
11. Right-click OS partition, and expand.
12. Reboot.

...

BAT 路径

例子:
@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前批处理全路径:%~f0
echo 当前CMD默认目录:%cd%

pause

 

通过批处理取当前目录的上一级目录
@echo off
if %cd%==%cd:~,3% echo 当前目录已经是%cd:~,1%盘的根目录!&goto end
cd..
set "bd=%cd%"
cd..
set "bbd=%cd%"
if "%bbd%"=="%bd%" (echo 上一级目录是: %cd:~,1%盘的根目录!
) else call echo 上一级目录是: "%%bd:%bbd%\=%%"
:end
pause

IF-ERRORLEVEL

@echo off
: p
ping 61.152.XX.XX
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
:aa
echo 正在重启软件服务...
net stop MSSQLSERVER
net start MSSQLSERVER
goto p
:bb
echo 继续ping中。。。
goto p

 

 

if ERRORLEVEL nubmer commend
例:if ERRORLEVEL 1 echo 返回值等于1

那么大家就要问了,我怎么获取到前一个命令的返回值呢?
方法很简单,拿ping来说,我们先运行一个ping 127.0.0.1
运行结果是Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
这时候我们输入,echo %errorlevel%,就可以看到返回值是0,
然后我们在ping一个不存在的ip,比如192.192.192.192
ping命令显示 Request timed out.。
ok,我们在用echo %errorlevel%查一下返回值是多少。
现在变成了1。

你也可以用这个方法来查询其他命令的返回值,比如copy、dir等等。
当然if ERRORLEVEL对数值的比较方法不仅仅限于等于。在微软的帮助中我们可以看到:

IF %ERRORLEVEL% LEQ 1 goto okay

这里的LEQ表示“小于等于”,全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

如有错误,感谢指正。

IF-ERRORLEVEL

建立TEST4.BAT,内容如下:
@ECHO OFF 
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 1 ECHO 文件拷贝失败 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
然后执行文件:
C:\>TEST4
如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。 
IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。
因此下面的批处理文件是错误的:
@ECHO OFF 
XCOPY C:\AUTOEXEC.BAT D:\ 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
IF ERRORLEVEL 1 ECHO 未找到拷贝文件 
IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作 
IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作 
IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误 
无论拷贝是否成功,后面的: 
未找到拷贝文件 
用户通过ctrl-c中止拷贝操作 
预置错误阻止文件拷贝操作 
拷贝过程中写盘错误
都将显示出来。 
以下就是几个常用命令的返回值及其代表的意义: 
backup 
0 备份成功 
1 未找到备份文件 
2 文件共享冲突阻止备份完成 
3 用户用ctrl-c中止备份 
4 由于致命的错误使备份操作中止 
diskcomp 
0 盘比较相同 
1 盘比较不同 
2 用户通过ctrl-c中止比较操作 
3 由于致命的错误使比较操作中止 
4 预置错误中止比较 
diskcopy 
0 盘拷贝操作成功 
1 非致命盘读/写错 
2 用户通过ctrl-c结束拷贝操作 
3 因致命的处理错误使盘拷贝中止 
4 预置错误阻止拷贝操作 
format 
0 格式化成功 
3 用户通过ctrl-c中止格式化处理 
4 因致命的处理错误使格式化中止 
5 在提示“proceed with format(y/n)?”下用户键入n结束 
xcopy 
0 成功拷贝文件 
1 未找到拷贝文件 
2 用户通过ctrl-c中止拷贝操作 
4 预置错误阻止文件拷贝操作 
5 拷贝过程中写盘错误

windows2003/xp not support sha2 ssl cert

微软根据美国国家标准技术研究院(NIST)发出的安全指引,在有关文档“SHA2 and Windows” 中要求所有受信任的证书颁发机构(CA)从2012年1月1日起都必须能根据用户的要求签发支持SHA256的数字证书,所有操作系统和服务器软件等各种相关软件都必须能支持SHA256签名算法,请参考 SP 800-78-2  SP 800-57)。

 

需下载补丁支持KB968730 

知识库文章编号:968730

语言:Chinese (Simplified)

平台:i386

位置:(http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix262679/3790/free/375507_CHS_i386_zip.exe)

 

知识库文章编号:968730

语言:Chinese (Simplified)

平台:x64

位置:(http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix262679/3790/free/375529_CHS_x64_zip.exe)

msftp

用户创建的两种方式:

均需设置NTFS权限,主目录需具有所有用户可读取权

一、创建隔离用户站:

主目录: c:\inetpub\ftproot

用户目录: c:\inetpub\ftproot\LocalUser

匿名目录:c:\inetpub\ftproot\LocalUser\public

用户A目录:c:\inetpub\ftproot\LocalUser\a

用户B目录:c:\inetpub\ftproot\LocalUser\b

 

二、默FTP认站+虚拟目录

主目录: c:\inetpub\ftproot,

 

用户所在目录可为任意。

如: 立a用户, 建帐号a,  默认FTP站添加对应的a虚拟目录, 虚拟目录指向用户实际目录。

用户实际目录应至少具有 administrator / system / a 三个用户读写权(但主意别串帐户权限)

建立b,c,d,e等帐户同理。

 

 

可能产生的故障分析

故障现象: 

登陆FTP的时候提示 530 User waadmin cannot log in, home directory inaccessible. 

故障原因: 

FTP根目录权限不够 

第一种解决方法: 

把该用户所在组加个“读取”权限 

或为以下原因

可能是在FTP服务器创建时,选择了FTP隔离用户模式。 

解决方法: 

在用户的ftp根目录下创建LocalUser\用户名 这样的目录,因为用户登录时会自动将主目录移到这里。如果打算允许FTP站点提供匿名登录应在LocalUser目录下另建一个public的子目录LocalUser\public 

IIS FTP "530 User cannot log in home directory inaccessible"错误原因:可能是在FTP服务器创建时,选择了FTP隔离用户模式。

Windows8 各种版本区别对比

功能特性 Windows RT Windows 8

(标准版)
Windows8 Pro

(专业版)
Windows 8 Enterprise

(企业版)
与现有Windows 兼容
购买渠道 在设备上预装 大多数渠道 大多数渠道 经过认证的客户
架构 ARM (32-bit) IA-32 (32-bit) or x86-64 (64-bit) IA-32 (32-bit) or x86-64 (64-bit) IA-32 (32-bit) or x86-64 (64-bit)
安全启动
图片密码
开始界面、动态磁帖以及相关效果
触摸键盘、拇指键盘
语言包
更新的资源管理器
标准程序
文件历史
系统的重置功能
Play To “播放至”功能
Connected standby保持网络连接的待机
Windows Update
Windows Defender
增强的多显示屏支持
新的任务管理器
ISO 镜像 and VHD 挂载
移动通信功能
Microsoft 账户
Internet Explorer 10
SmartScreen
Windows 商店
Xbox Live 程序 (包括 Xbox Live Arcade)
Exchange ActiveSync
快速睡眠(snap)
VPN连接
Device encryption
随系统预装的Microsoft Office
桌面 部分
储存空间管理(storage space)
Windows Media Player
Windows Media Center 需另行添加
远程桌面 只作客户端 只作客户端 客户端和服务端 客户端和服务端
从VHD启动
BitLocker and BitLocker To Go
文件系统加密
加入Windows 域
组策略
AppLocker
Hyper-V 仅64bit支持
Windows To Go
DirectAccess
分支缓存(BranchCache)
以RemoteFX提供视觉特效
Metro风格程序的部署

表中最后几行是企业版独有的几个功能(仅供参考):

  • Windows To Go:允许 Windows 8 从 U 盘或者外置硬盘启动,这里有视频教程
  • DirectAccess:远程直接登入,这是类似于 VPN 的一种连接方式,不同的是只要客户机一开机它就会连接上,而不需要初始化。
  • 分支缓存(BranchCache):分支缓存使分支办公室中的客户端能够安全地检索缓存在本地的文件,而无需从主办公室服务器检索文件。
  • 以RemoteFX提供视觉特效:这是远程桌面协议(RDP)功能的增强,使用服务器端的图形显卡来处理然后将高分辨率位图发送到客户端桌面。