在特定字符后删除字符串中所有文本的最佳方法是什么?在我的情况下,"="和我的案例中的另一个角色a ,,但保持文本之间?
=保持这个,
我有一个用户全名列表,我想获取他们的SAMaccount名称,但是当我运行代码时,没有任何结果。有人有想法么?
$users = Get-Content C:\users\admin\Desktop\move.txt
foreach ($user in $users){
Get-ADUser -Filter {Name -eq "$user"} |Select-Object name, samaccountname
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Invoke-RestMethod从我正在使用的应用程序中获取页面名称.我注意到当我在页面上执行GET时,它会返回页面名称
这个页面正在运作
但是实际的页面名称是
这个页面 - 正在运作
这是我的请求的样子
Invoke-WebRequest -Uri ("https://example.com/rest/api/content/123789") -Method Get -Headers $Credentials -ContentType "application/json; charset=utf-8"
Run Code Online (Sandbox Code Playgroud)
问题出在en-dash上,是否有人知道如何解决这个问题?
我正在尝试运行以下脚本,但是当我这样做时,我得到了
表达式或语句中出现意外的标记'-PrimaryUserAddress'
我怎样才能解决这个问题?
$users = Get-ADUser "joerod" -Properties *|Select-Object SamAccountName, msRTCSIP-PrimaryUserAddress
ForEach ($user in $users) {
if($user.msRTCSIP-PrimaryUserAddress -ne 0){
Write-Host "Removing $($user.samaccountname) from OCS"
}
}
Run Code Online (Sandbox Code Playgroud) 我的目录林中有多个域,并且我试图编写一个可以与目录林中的任何用户一起使用的脚本,因此我在脚本中使用了全局编录。
这可以检索数据,但是当我尝试修改数据时,我得到了
Set-ADUser:服务器不愿意处理该请求
如果我使用域控制器(DC)作为服务器名称,则修改将按预期完成。我想避免编写用于设置服务器名称的开关。我还能在这里做什么?
Get-ADUser $user -Server "contoso.local:3268" | %{Set-ADUser -Identity $_.distinguishedname -SamAccountName $_.SamAccountName -Server "contoso.local:3268"}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个脚本来检查字符串是否为空,如果它将用户名输出到文件,那么我可以返回并检查该文件,看看谁是null.下面是我的代码,脚本是不是写出了任何想法的文件?
$user = "user@domain.com"
#just gets the users info
$user_info = gam info user $user
$suspended = $user_info | Select-String -pattern "Account Suspended: true"
if ($suspended = $null) {
$user | Out-File -FilePath C:\scripts\not_suspended.txt -append -Encoding utf8
}
Run Code Online (Sandbox Code Playgroud) 我已经通过GPO在所有桌面上配置了winrm,因此我现在可以使用invoke-commandcmdlet在远程计算机上本地运行命令.当我net localgroup administrators在我的本地机器上运行时,这可以工作并给我我想要的东西.问题是我对这些数据无能为力.我无法将结果输出到变量,所以我可以说删除特定的帐户.
是否有内置cmdlet可以让我做同样的事情net localgroup administrators?