相关疑难解决方法(0)

Get-Aduser -Filter不接受变量

我想检查系统中是否已存在用户帐户.

$SamAc = Read-Host 'What is your username?'
$User = Get-ADUser -Filter {sAMAccountName -eq "$SamAc"}
Run Code Online (Sandbox Code Playgroud)

我不确定为什么,但$User即使{sAMAccountName -eq "$SamAc"}应该是真的,也总会返回null .

我在这里错过了什么?

编辑:

这是缺少的:

$User = Get-ADUser -Filter "sAMAccountName -eq '$SamAc'"
Run Code Online (Sandbox Code Playgroud)

编者按:脚本块({ ... })用替换字符串.

powershell filtering active-directory powershell-3.0

16
推荐指数
2
解决办法
5万
查看次数

通过重新格式化现有文件名重命名文件 - 将占位符替换为与-replace运算符一起使用的替换字符串

我有一些像这样的视频文件: VideoName_s01e01.mp4季节和剧集是变量.我想在s??和之间添加一个下划线("_")e??.

我一直在使用进行重命名,我有一个起点:

GCI $path -filter '*_s??e??*' -rec |  Ren -new { $_.name -replace '_s[0-9][0-9]', '_s[0-9]_[0-9]_' } -passthru    
Run Code Online (Sandbox Code Playgroud)

这实际上重命名了我的文件VideoName_s[0-9]_e[0-9].mp4.

基本上,我正在寻找s??e??我不知道如何在替换部分中使它们成为变量的字符.

我认为最好的方法是:

  1. 找到e??s??(我们称之为X)的位置.
  2. 将字符串拆分为X-3.
  3. 将字符串连接_到中间的" ".

powershell replace rename file

2
推荐指数
1
解决办法
449
查看次数