我使用powershell脚本来重命名我们的域的主机名: Rename-Computer -NewName $computername -DomainCredential $mycreds -Force -PassThru 在大多数情况下,它的工作,但在低%的情况下,重新启动计算机后的领域。 该脚本还searchAD,并确保新的主机名不在AD上。 我search的是: c:\ windows \ debug \ netsetup.log告诉一切正常。 该对象存在于AD中,并且重命名(相同的OU) 发生这种情况时,如果我尝试login到具有用户域的计算机,则会显示错误“此工作站和主域之间的信任关系失败” 任何想法的错误,我怎么能控制它在未来的重命名? 谢谢
我写了一个脚本来将BitLocker密钥备份到Active Directory。 除非密码ID以'D'开头,否则这些作品很棒。 这是脚本 #Get recovery info $recoveryinfo = manage-bde -protectors -get c: #Check if bitlocker key could be located If ($recoveryinfo -match 'All Key Protectors') { $recoveryinfo $arr = $recoveryinfo | Select-String -Pattern 'ID:' $arr[1] = $arr[1].ToString().TrimStart('ID: {') $arr[1] = $arr[1].ToString().TrimEnd('}') $key = $arr[1] $key = '{' + $key + '}' #Backup bitlocker key […]
我试图从邮箱的联机归档中导出特定的文件夹(及其子文件夹)到PST文件。 服务器在Server 2008 R2上运行Exchange 2010(14.3.123.4)。 到目前为止,我有这样的: New-MailboxExportRequest ` -Mailbox $Mailbox ` -IncludeFolders "#Inbox#/Production/Bouwnummers/$BouwnummerFolder/*" ` -FilePath "\\[server]\PST-Export$\OTPM\$BouwnummerFolder.pst" ` -Name $Bouwnummer ` -DomainController $DomainController New-MailboxExportRequest ` -Mailbox $Mailbox ` -IncludeFolders "#Inbox#/Production/Bouwnummers/$BouwnummerFolder/*" ` -FilePath "\\[server]\PST-Export$\OTPM\$BouwnummerFolder Archive.pst" ` -Name "$Bouwnummer Archive"` -DomainController $DomainController ` -IsArchive 对于第一个导出请求,我得到预期的结果,但是对于档案(第二部分),我只能得到已删除的项目文件夹(空白)。 我已经检查了Get-MailboxFolderStatistics -Identity $Mailbox -Archive | ft Folderpath | out-file E:\PST-Export\$Mailbox-archive.txt Get-MailboxFolderStatistics -Identity $Mailbox […]
我尝试过使用其他Q / A,如Windows Server 2008 R2 PowerShell脚本手动运行,但不是作为计划任务,但无济于事。 基本上我有一个PoSh脚本(显然这是它现在的热门缩写),从一台服务器(UNCpath)复制大量的大文件到本地驱动器。 它在一个循环中完成,它使用BITS传输 。 大致: Start-BitsTransfer源/目标/asynchronous/低优先级 while位工作的状态仍然是“连接”或“转移”, Sleep 2秒(即等待它完成) 一旦我们不在这个循环中, Complete-BitsTransfer Write-Host一个“完成的文件X”味精 得到下一个文件,重复…(所以是的,有一个从Get-ChildItem获得的文件列表的外部循环 ) 从PoSh ISE和普通的PoSh控制台运行时,该脚本可以正常工作。 我试过使用Sleep , Start-Sleep ,甚至[Threading.Thread]::Sleep ,认为这是问题。 然后,我将.ps1包装在.bat ,从CMD运行时也可以。 但在所有情况下,无论是直接调用.ps1还是包装器.bat ,调度任务都会失败。 它说它是成功的,但实际发生的是启动所有传输作业,它们进入“暂停”状态(由PoSh窗口中的Get-BitsTransfer显示),任务认为一切正常并结束,留下这些孤立的BITS工作,我甚Complete-BitsTransfer不能Complete-BitsTransfer的B / C他们也抛出了错误。 其他行为: 以上是当我运行它作为我的域pipe理员帐户,让它存储pwd瓦特/任务时发生了什么。 如果我将其更改为一个服务帐户(这是一个pipe理员),它实际上从来不会启动 BITS作业。 它也会抛出“用户必须拥有”作为批处理作业权限login的错误。 如果我尝试让它作为本地/内置帐户运行,它也无法启动BITS作业。 把我的头发撕在这里帮忙!
我处于一个“有趣”的情况,我有大约200台服务器的RDP凭据,但没有一台启用了Remote PowerShell。 我需要一个简单的任务:重新启动它们。 但我拥有的是RDP(pipe理员帐户)凭据(包括:每个服务器的IP地址,用户名和密码)。 有没有办法从我的笔记本电脑(Windows 10,如果它是相关的)PowerShell /命令提示符,我使用该凭据,并在这些远程服务器上运行PowerShell / Cmd命令(将来,我可能需要命令而不是shutdown )?
我试图在Windows服务器(域控制器)上远程(从一个不同的域)监视计划任务和服务; 我们正在计划为这部分实施一个最低要求的委托模式; 我尝试了多个选项,但只有在向“pipe理员”组添加服务帐户的工作,这是不可取的。 我还可以用最less的代表团来达到这个目的吗? 以下任务需要执行。 – >通过“schtasks”或PowerShell命令读取计划任务。 – >使用WMI或PowerShell命令获取AD服务。 请随时让我知道是否需要任何额外的信息。
下面脚本中的“CD”命令在本地机器上而不是远程执行。 怎么了? Add-PSSnapin Windows.ServerBackup -ErrorAction SilentlyContinue set-item wsman:\localhost\Client\TrustedHosts -value 81.xxx.xx.xx $WBResult = $WBSummary.LastBackupResultHR $WBErrorMsg = $WBJob.ErrorDescription + "`n" + $WBSummary.DetailedMessage $User = "administrator" $File = "C:\Users\jsapsford\Desktop\Password.txt" $cred = New-Object -TypeName System.Management.Automation.PSCredential ` -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString) If ($WBResult -eq 0) { $WBResult = "Successful"} Else {$WBResult = "Failed"} if ($WBResult -eq "Succesful") {$text […]
当AWS实例具有公共IP时,可以打开远程powersheel会话( https://stackoverflow.com/questions/21920773/execute-powershell-script-remotely-on-amazon-ec2-instance-from-my-local电脑 )。 你可以使用NAT在私人子网上的服务器上做同样的事情吗? (而不是跳箱或堡垒服务器)
在我之前的工作中,我创build了几个使用Exchangepipe理工具和安装的cmdlet处理邮箱的powershell脚本。 现在我有一个类似的环境,但是我不能在运行脚本的服务器上安装Exchange工具。 我能怎么做? 有一个方便的方式(一套PowerShell cmdlet)下载我的邮箱内容和处理电子邮件?
$Output = 'C:\temp\Result.txt' $Servers = Get-Content 'C:\temp\ServerNames.txt' $ScriptBlock = { $Groups = Get-WmiObject Win32_GroupUser -ComputerName $Servers $LocalAdmins = $Groups | Where GroupComponent –like '*"Administrators"' $LocalAdmins |% { $_.partcomponent –match ".+Domain\=(.+)\,Name\=(.+)$" > $nul $matches[1].trim('"') + "\" + $matches[2].trim('"') } } foreach ($ServerNames in $Servers) { "Local Admin group members in $ServerNames" | Out-File $Output -Append Invoke-command […]