PowerShell

PowerShell: 隐藏明文密码

本文描述如何加密 PowerShell 中的敏感信息,从而避免敏感信息(诸如密码)在代码中被显式的展现出来。这里我们使用 ConvertFrom-SecureString 命令来完成加密操作,需要注意的是,如果我们没有指定Key,那么,将采用基于 Windows 内置的 DPAPI 进行数据的加密。这种情况下,原文的加密和解密必须在同一台机器上,且基于同一个User去进行。

ConvertFrom-SecureString [-SecureString] <SecureString> [[-SecureKey] <SecureString> ] [ <CommonParameters>]

你可以从这里了解该命令的更多信息。

* If no key is specified, the Windows Data Protection API (DPAPI) is used to encrypt the standard string representation.
Your secret was automatically encrypted by the built-in Windows data protection API (DPAPI), using your identity and your machine as encryption key. So only you (or any process that runs on your behalf) can decipher the secret again, and only on the machine where it was encrypted.
Continue reading

PowerShell: 远程调用

通过本地程序调用 PowerShell 自定义脚本,我们可以有周期、计划性的执行一些扩展的操作,这在一定程度上提高了本地程序自身逻辑的扩展性。而在编写一段 PowerShell 脚本的过程中,也难免会遇到需要一段脚本在另一台计算机上远程执行的情形。例如,我们在执行一段 PowerShell 脚本时,需要向某个 AD Group 中添加一个 AD User,而这一操作需要在域控机器上才能执行,而此时,我们就会用到 PowerShell 远程调用执行代码。

在调用之前,我们需要保证 PowerShell 的远程调用设置是开启的。
1 启用远端计算机的 Windows Remote Management (WS-Management) service.
(1) 通过 services.msc 启动服务管理器
(2) 在其中找到 Windows Remote Management (WS-Management) 这一项
(3) 确定该项服务正处于运行状态,并且启动类型被设置为 Automatic

2 设定本地组策略.
(1) 通过 gpedit.msc 开启本地组策略编辑器
(2) 找到 Computer Configuration > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM
Service
(3) 在右侧的项目中,双击 “Allow remote server management through WinRM”
(4) 在新弹出的窗口中,选择Enabled,从而启用策略,然后再Options的设置区域,位IPv4和IPv6 filter添加规则”*”,从而使所有IP都不受到过滤器的限制。当然,这里也可以根据具体的环境进行配置,相关配置可参考下图。
Continue reading

阿里云 购买与部署: 流程拾遗

这两天终于有了些时间,索性把毕业时那个花生壳弄的站点迁移到阿里云上。没有选择轻云或者虚拟主机,一方面是因为之前的工作项目主要基于 Microsoft Azure 开发,比较习惯于云端环境,更主要的是云端拥有更大的扩展性。

而选择阿里,是因为相对 Azure 便宜许多,相对其他国内运营商,阿里拥有全套的运营体系(从万网的域名管理、备案审批到ECS、SLB、OSS… 甚至其自身的支付系统),另一方面,阿里云的服务体系也是相当完善的,例如,网站备案用的幕布从索取到接收只相差1天,服务态度也是极好的(这里给个赞,之前由于不明原因,阿里和万网的客服被手机360确认为电话推销…  所以前两个域名确认电话我都没接,没想到阿里的小妹妹又换了第3个号码打过来… 难道是 True Love ?!),在这些方面,相对于其他国内的运营商,优势还是很大的。(本人不是阿里5毛…,不过若愿给我5毛,我也是接受的,您可以扫描页面最下方的二维码,捐助5毛钱~,非常感谢!)
Continue reading