我正在尝试使用正则表达式正向后提取数据。我创建了一个具有以下内容的.ps1文件:
$input_path = ‘input.log’
$output_file = ‘Output.txt’
$regex = ‘(?<= "name": ")(.*)(?=",)|(?<= "fullname": ")(.*)(?=",)|(?<=Start identity token validation\r\n)(.*)(?=ids: Token validation success)|(?<= "ClientName": ")(.*)(?=",\r\n "ValidateLifetime": false,)’
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } >$output_file
Run Code Online (Sandbox Code Playgroud)
输入文件如下所示:
08:15.27.47-922: T= 11 ids: Start end session request
08:15.27.47-922: T= 11 ids: Start end session request validation
08:15.27.47-922: T= 11 ids: Start identity token validation
08:15.27.47-922: T= 11 ids: Token validation success
{
"ClientId": "te_triouser",
"ClientName": "TE Trio …Run Code Online (Sandbox Code Playgroud) 因此,虽然有很多关于如何将表单设置为最顶层的建议,但我找不到任何使我的控制台在最顶层运行的东西。
所以我的问题是:如何让我的控制台在脚本期间运行在最上面?
我试图接受用户名和密码作为Powershell脚本的参数,但是新的对象
$UserID="Name"
$SecurePassword=convertto-securestring -AsPlainText -Force -String $Password
New-object –TypeName System.Management.Automation.PSCredential –ArgumentList ($UserID,$SecurePassword)
Run Code Online (Sandbox Code Playgroud)
给出错误
新对象:找不到类型[ - TypeName System.Management.Automation.PSCredential - ArgumentList]:验证是否加载了包含此类型的as sembly.在C:\ ps\login.ps1:14 char:17 + ... rCredential = New-object - TypeName System.Management.Automation.PSCre ... + ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidType: (:) [New-Object],PSArgumentException + FullyQualifiedErrorId:TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
任何人都有一些线索如何解决这个问题?
$logstring = Invoke-Command -ComputerName $filesServer -ScriptBlock {\n param(\n $logstring,\n $grp\n )\n\n $Klassenbuchordner = "KB " + $grp.Gruppe\n $Gruppenordner = $grp.Gruppe\n $share = $grp.Gruppe\n $path = "D:\\Gruppen\\$Gruppenordner"\n\n if ((Test-Path D:\\Dozenten\\01_Klassenb\xc3\xbccher\\$Klassenbuchordner) -eq $true)\n {$logstring += "Verzeichnis f\xc3\xbcr Klassenb\xc3\xbccher existiert bereits"}\n else {\n mkdir D:\\Dozenten\\01_Klassenb\xc3\xbccher\\$Klassenbuchordner\n $logstring += "Klassenbuchordner wurde erstellt!"\n }} -ArgumentList $logstring, $grp\nRun Code Online (Sandbox Code Playgroud)\n\n我的目标是测试目录是否存在并根据需要创建它。
\n\n问题是路径包含德文字母(元音变音),目标服务器无法正确识别这些字母。
\n\n例如,服务器收到路径"D:\\Dozent\\01_Klassenb\xc3\x83\xc2\xbccher"而不是预期的"D:\\Dozent\\01_Klassenb\xc3\xbccher".
如何强制使用正确的 UTF-8 编码?
\npowershell utf-8 character-encoding codepages invoke-command