小编Raf*_*Raf的帖子

powershell Rename-Item无法重命名

我的powershell脚本:

$dst = 'C:\Temp'

#Get all folders in $dst
$folders = Get-ChildItem $dst | ?{ $_.PSIsContainer }

foreach($folder in $folders)
{
    $cnt = (Get-ChildItem -filter *.txt $folder | Measure-Object).Count

    $base = ($folder.FullName -split " \[.*\]$")[0]
    $newname = $("{0} [{1}]" -f $base,$cnt)

    Write-Host $folder.FullName "->" $newname

    Rename-Item $folder.FullName $newname
}
Run Code Online (Sandbox Code Playgroud)

问题

在我的第一次运行中我得到了这个:

PS C:\Temp> C:\Temp\RenameFolders.ps1
C:\Temp\m1 -> C:\Temp\m1 [1]
Run Code Online (Sandbox Code Playgroud)

在我的第二次运行中我得到了这个:

PS C:\Temp> C:\Temp\RenameFolders.ps1
C:\Temp\m1 [1] -> C:\Temp\m1 [0]
Rename-Item : Cannot rename because item at 'C:\Temp\m1 [1]' does not exist.
At …
Run Code Online (Sandbox Code Playgroud)

powershell file-rename

6
推荐指数
1
解决办法
1万
查看次数

makecert错误:无法访问主题的密钥

我有一个PowerShell脚本,我想在2台不同的独立机器上运行.在安装了SDK的Windows 8.1上,我发出命令:

makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
     -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
Run Code Online (Sandbox Code Playgroud)

我回来了:

Error: Can't access the key of the subject ('CA.pvk')
Failed
Run Code Online (Sandbox Code Playgroud)

CA.pvk已创建,但不是CA.cer

有任何想法吗?

谢谢,杰夫

windows makecert

6
推荐指数
1
解决办法
3718
查看次数

Powershell将变量中的主机输出参数写为字符串

$mycolorparams = "-foregroundcolor red -backgroundcolor black"

write-host "I want this foreground in Red and background in black" $mycolorparams
Run Code Online (Sandbox Code Playgroud)

大家好,

这让我抓狂。当我使用 write-host 时,cmdlet 将所有内容返回为字符串:

“我希望前景为红色,背景为黑色 -前景色红色 -背景色黑色”。

不是具有红色文本和黑色背景的实际字符串。

最糟糕的是,这对我来说一直有效,直到我更改了代码中的 var 名称。我不知道从那以后发生了什么改变。我怀疑这与引号有关,因为单引号吐出字符串,双引号读取变量。但是在 text 和 var 上尝试了大量的 single 和 double 变化之后,结果是相同的,只是字符串输出。

在过去的一个小时里,我一直在网上搜寻,但没有运气,有很多例子,但我找不到具体问题的答案。任何帮助表示赞赏,谢谢。

powershell

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

PowerShell中的webclient身份验证错误

我对Powershell比较陌生,所以现在真的不知道该怎么回事.我正在尝试从subversion存储库下载文件并获得(401)Unauthorized"错误.我能够使用IE在同一台计算机上使用完全相同的凭据登录该站点并下载该文件.

$source = "http://repository/folder/File.exe"
$destination = "E:\Temp\File.exe"
$wc = New-Object System.Net.WebClient
$user="user"
$pwd=convertto-securestring -string "password" -AsPlainText -force
$creds=New-Object System.Management.Automation.PSCredential -ArgumentList $user, $pwd  
$wc.Credentials = New-Object System.Net.NetworkCredential ($user,    $Creds.GetNetworkCredential().Password,"DOMAIN")

$download=$wc.DownloadFile($source, "$destination")
Run Code Online (Sandbox Code Playgroud)

使用"2"参数调用"DownloadFile"的异常:"远程服务器返回错误:(401)未经授权."

如果这是跨平台问题的任何想法?以及如何解决这个问题?

谢谢

authentication powershell webclient

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