V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
geelaw
V2EX  ›  PowerShell

我的 PowerShell 库迁移+更新了一发,欢迎来 star

  •  
  •   geelaw · 2018-04-20 20:38:29 +08:00 · 2958 次点击
    这是一个创建于 2410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前把好几个零散的 PowerShell module/script repos 合并了一下,现在叫做 PowerShellThingies

    前情:

    • /t/359583 把 PowerShell 窗口固定到屏幕一侧( Dock-Host )
    • /t/365073 实现 PowerShell 二进制流管道( Use-RawPipeline )
    • psguy.me 这个域名即将脱离我的控制,我也把对应的 repo archive 起来了

    迁移之后增加:

    • 备份还原 Outlook (for Desktop) 签名的工具,我自己放进 OneDrive 里面。功能包括自动按照时间命名备份,自动选择最新的备份(如果不指定)来还原,删除旧备份。
    • 在账户里存取 credential,可以用这个方式非常方便地把一些程序安装到单独的账户里,比如我有一个专门的用户运行 Chrome,另一个专门的用户运行 GNU 工具链,还有专门用来做操作系统课作业的账户。有了这个工具可以非常方便地切换 PowerShell 的运行身份(例如 get-fastcredential gnu | su 即可切换为 gnu 这个用户来运行 PowerShell )。

    还有一个重头戏

    我安装完 Windows 之后最开始的几步是这样的:

    1. 关掉欢迎屏幕的背景( Windows 10 的烟雾大玻璃照片),关掉之后效果同 Windows 8,显示用户的个人背景色;这点需要修改一个 registry value ;
    2. 重命名电脑(默认值是 DESKTOP-一串,而且安装过程不会提示你选择一个名字);
    3. 改变系统的 locale (非 Unicode 程序的默认编码),因为我一般用的是英文的 image,所以需要手工改成 zh-CN
    4. 改变注册用户名、机构名,这需要修改 registry values,这个名字会在 Windows 程序的“关于”对话框里出现(也就是 winver.exe 的对话框);
    5. 删除一些没用的 Microsoft Store apps,包括从所有用户中删除,并从系统配置中删除;
    6. 更新 PowerShell 的帮助文档。

    其中第 5 步有一个重大改进,之前是写一个文本文件 useless-packages.txt 来指定要删除的包的名字,缺点在于每次拿到不同品牌的电脑预装的 app 可能不同,另外随着系统更新也会有不同的 app 新加进来。比如新的 Surface Book 2 会有商店加载的 Office 2016 程序,这对我都是没用的,需要删掉。

    现在我写了一个很简略的网页模板,PowerShell 脚本会把本机具有的 Microsoft Store 程序包 pop 进去,然后用户可以在网页上用复选框选择需要删除的包(点击包名可以转到 Microsoft Store 查看这个应用到底是什么),然后点按钮生成一个“总结”,把“总结”粘贴回 console 里面就可以删除不想要的东西。

    实际上我发现这种操作方式还是挺方便的,比如我现在觉得 git 的 interactive rebase 挺好用的(如果你用一个现代的编辑器,或者使用图形界面编辑 rebase 的工作),另一个例子是我在前东家做的一个 compare -> edit diff -> patch 的 workflow (虽然我觉得前东家现在应该没有人去手动编辑那个 diff,因为自动生成的已经非常好了)。

    效果如图:(拼写错误已经被修正)

    2 条回复    2019-06-05 19:37:18 +08:00
    cchange
        1
    cchange  
       2018-04-21 09:02:39 +08:00 via iPhone
    这个赞 建议增加对虚拟机的操作
    由于 win10 版本变化太快 可能虚拟机将长期存在
    ps1aniuge
        2
    ps1aniuge  
       2019-06-05 19:37:18 +08:00
    支持,顶~
    建议楼主完善 readme,中文的最好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5353 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.